Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2a3225c169 | |||
| 70fe89228d | |||
| 1cd285635f | |||
| baf22b802d | |||
| 41fe193d1e | |||
| 961d4563e7 | 
							
								
								
									
										4
									
								
								build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								build.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| env GOOS=linux GOARCH=amd64 go build -o timepercentage.linux-amd64 | ||||
| env GOOS=windows GOARCH=amd64 go build -o timepercentage.windows-amd64.exe | ||||
							
								
								
									
										20
									
								
								tp.go
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								tp.go
									
									
									
									
									
								
							| @@ -2,6 +2,7 @@ package main | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"log" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| @@ -80,14 +81,22 @@ func renderDay() string { | ||||
| } | ||||
|  | ||||
| func getCurrentTime() (time.Time, int) { | ||||
| 	// Declarations | ||||
| 	var offset int | ||||
| 	var loc *time.Location | ||||
| 	var err error | ||||
|  | ||||
| 	// Current Time | ||||
| 	ct := time.Now() | ||||
|  | ||||
| 	// Get the offset from whatever the system timezone is | ||||
| 	_, offset := ct.Local().Zone() | ||||
| 	_, offset = ct.Local().Zone() | ||||
|  | ||||
| 	// Make sure that the time is in UTC, so the offset makes sense | ||||
| 	loc, _ := time.LoadLocation("UTC") | ||||
| 	loc, err = time.LoadLocation("UTC") | ||||
| 	if err != nil { | ||||
| 		log.Fatal(err) | ||||
| 	} | ||||
| 	ct = ct.In(loc) | ||||
|  | ||||
| 	// Return things | ||||
| @@ -121,7 +130,12 @@ func renderPercentage(percentage float64) string { | ||||
|  | ||||
| // Get the percentages between two float64s | ||||
| func calcPercentageFloat64(full float64, part float64) float64 { | ||||
| 	return part / (full / 100) | ||||
| 	var percentage float64 | ||||
| 	percentage = part / (full / 100) | ||||
| 	if percentage >= 100 { | ||||
| 		percentage = percentage - 100 | ||||
| 	} | ||||
| 	return percentage | ||||
| } | ||||
|  | ||||
| // Get the start of the year. | ||||
|   | ||||
							
								
								
									
										36
									
								
								tp_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								tp_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| package main | ||||
|  | ||||
| import "testing" | ||||
|  | ||||
| func TestRenderPercentage(t *testing.T) { | ||||
| 	var percentage float64 | ||||
|  | ||||
| 	percentage = 91.8948715 | ||||
| 	if renderPercentage(percentage) != "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░" { | ||||
| 		t.Errorf("renderPercentage(%f)", percentage) | ||||
| 	} | ||||
|  | ||||
| 	percentage = 15.8682051 | ||||
| 	if renderPercentage(percentage) != "▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░" { | ||||
| 		t.Errorf("renderPercentage(%f)", percentage) | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| func TestCalcPercentageFloat64(t *testing.T) { | ||||
| 	var full float64 | ||||
| 	var part float64 | ||||
|  | ||||
| 	full = 100 | ||||
| 	part = 50 | ||||
| 	if calcPercentageFloat64(full, part) != 50 { | ||||
| 		t.Errorf("calcPercentageFloat64(%f,%f) test failed", full, part) | ||||
| 	} | ||||
|  | ||||
| 	full = 8000 | ||||
| 	part = 2000 | ||||
| 	if calcPercentageFloat64(full, part) != 25 { | ||||
| 		t.Errorf("calcPercentageFloat64(%f,%f) test failed", full, part) | ||||
| 	} | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user