Commit graph

118 commits

Author SHA1 Message Date
b55e48ab22 Get rid of partOfDayChanged 2026-01-17 16:12:16 +01:00
bc421bc1a7 Introduce generateZigbeeCommandsForDifference 2026-01-17 16:07:12 +01:00
9fa7037f0e Rename some stuff 2026-01-17 15:59:11 +01:00
e422f03217 Move functions to module level 2026-01-17 15:54:31 +01:00
1e6788ac48 Simplify even more 2026-01-17 15:48:47 +01:00
9de9aefcdf Simplify a bit 2026-01-17 15:37:11 +01:00
45210c30d4 Use state to steer color and brightness 2026-01-17 15:35:27 +01:00
437e5bf25d Store more state 2026-01-17 15:33:30 +01:00
78b57258c1 Rewrite construction of newLightToState 2026-01-17 15:23:13 +01:00
4d8fc44bee Naively move construction of lightToState to first TimeChanged 2026-01-17 12:01:07 +01:00
78a692bd43 Move some types 2026-01-17 11:40:31 +01:00
275a0677eb Add test for light brightness 2026-01-17 11:30:55 +01:00
001b1e0af3 Fix statistic summary 2026-01-17 10:12:31 +01:00
62c8e446c9 Re-write the remaining tests 2026-01-17 10:04:02 +01:00
ec90147c07 Simplify classify by using collect 2026-01-16 23:47:51 +01:00
8866053172 Introduce ArbitraryInteractions 2026-01-16 21:49:38 +01:00
d278b5d8ea Rewrite another test to use a more generic generator 2026-01-16 21:46:14 +01:00
cbc948c005 Re-use getPartOfDayAfterInteractions in an ensure... function 2026-01-16 21:19:54 +01:00
f22f31ee6c Rewrite two tests with Prop.classify instead 2026-01-16 21:17:37 +01:00
79405b3841 Make biasing towards a light optional 2026-01-16 20:27:07 +01:00
a9331853c0 Improve generator names to show that they are biased 2026-01-16 20:23:13 +01:00
7af3827214 Improve test names 2026-01-16 20:13:54 +01:00
c342f06e82 Simplify function names 2026-01-16 20:13:54 +01:00
d509829304 Introduce ensureLastRemoteInteractionIs 2026-01-14 22:01:29 +01:00
b3689108a7 Introduce ensurePartOfDayIs 2026-01-14 21:50:47 +01:00
8f53033db4 Add missing case to genInteraction 2026-01-14 21:02:12 +01:00
d098dfc822
Merge pull request #11 from svenvanheugten/half-off
Implement the "Left" button on the remote
2026-01-14 20:04:40 +01:00
6e4c89c436 Fix room on one of the lamps 2026-01-14 19:56:15 +01:00
0d21e81b82 Introduce a global remoteControlledLights value 2026-01-14 19:55:58 +01:00
2950b21488 Implement the 'Left' button on the remote 2026-01-14 19:53:15 +01:00
6ecb6d07ac Simplify tests to prepare for a more complicated remote 2026-01-14 19:50:58 +01:00
a4b11e1ffa Change start of day to 6.00am 2026-01-10 21:09:44 +01:00
2f6e46960f Spam a bit less 2026-01-10 21:04:50 +01:00
c5088ae218 Package with nix 2026-01-10 21:04:50 +01:00
1ad118c6d8
Improve test name 2026-01-10 09:41:58 +01:00
b53151b4c5 Re-write tests without ==> 2026-01-09 19:23:19 +01:00
cefe696f97 Replace the 'initial interactions' concept with ensureStartsWithTimeChanged
This allows us to generate the case again where the list *just* contains
a TimeChanged interaction.
2026-01-09 19:16:47 +01:00
9087efaab3 Remove unused infix operator 2026-01-09 06:18:05 +01:00
6ec9aa1b51 getInteractionsExcept -> genRandomInteractionsExcept 2026-01-09 06:02:48 +01:00
879b75f201 Add comment to doesLightHavePowerAfter 2026-01-09 06:01:17 +01:00
2da1972b06 Get rid of the [...]AndEndWith helper
I introduced this to test a very specific edge case right after
initialization, but it made all tests harder to read.
2026-01-08 22:30:47 +01:00
c74238e105 Add a test for the initial state of the remote-controlled lights 2026-01-08 22:22:47 +01:00
150fa265de Use shorthand 2026-01-08 22:10:20 +01:00
c30642dcce Clarify helper names
This makes it more obvious that there might be multiple "day times" or
"night times" in a row.
2026-01-08 22:08:52 +01:00
6ff7ce19b2 Give the tests slightly better names 2026-01-08 22:03:39 +01:00
d7fac9c3d0 Verify that non-remotely controlled lights are on if they have power 2026-01-08 21:52:10 +01:00
d57ca23822 Make tests target specific lights when testing 2026-01-08 21:52:06 +01:00
0ddcd17fd4 Get rid of an intermediate variable 2026-01-08 21:05:20 +01:00
2c051c0b3d Add some synctatic sugar 2026-01-08 20:58:24 +01:00
0033fed73e Fix test name 2026-01-08 20:19:22 +01:00