Gisle Aune
3 years ago
5 changed files with 72 additions and 21 deletions
-
7internal/drivers/hue/bridge.go
-
38internal/drivers/hue/state.go
-
6models/eventhandler.go
-
2models/timeofday.go
-
40models/timeofday_test.go
@ -0,0 +1,40 @@ |
|||||
|
package models |
||||
|
|
||||
|
import ( |
||||
|
"fmt" |
||||
|
"testing" |
||||
|
) |
||||
|
|
||||
|
func tod(s string) TimeOfDay { |
||||
|
tod, err := ParseTimeOfDay(s) |
||||
|
if err != nil { |
||||
|
panic(err) |
||||
|
} |
||||
|
|
||||
|
return tod |
||||
|
} |
||||
|
|
||||
|
func TestTimeOfDay_IsBetween(t *testing.T) { |
||||
|
table := []struct{ |
||||
|
Value TimeOfDay |
||||
|
From TimeOfDay |
||||
|
To TimeOfDay |
||||
|
Expected bool |
||||
|
}{ |
||||
|
{ tod("16:13:11"), tod("07"), tod("21:30"), true }, |
||||
|
{ tod("16:13:31"), tod("21:30"), tod("07"), false }, |
||||
|
{ tod("23:15:32"), tod("21:30"), tod("07"), true }, |
||||
|
{ tod("04:13:57"), tod("21:30"), tod("07"), true }, |
||||
|
{ tod("16:14:43"), tod("15:30"), tod("16:00"), false }, |
||||
|
{ tod("16:14:43"), tod("15:30"), tod("16:15"), true }, |
||||
|
} |
||||
|
|
||||
|
for i, row := range table { |
||||
|
t.Run(fmt.Sprintf("row_%d", i), func (t *testing.T) { |
||||
|
if row.Value.IsBetween(row.From, row.To) != row.Expected { |
||||
|
t.Log(row.Value, row.From, row.To) |
||||
|
t.Fail() |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue