After doing a quick&dirty Node.js implementation of the Humanoid Hunt puzzle, I tried the same in Dart. It’s surprisingly similar, but this time I tried to create tests and I wanted to see what will be the result when I try the “real” puzzle.
And ‘lo and behold: after creating all the logic and test to confirm them working as expected, the first try with the actual puzzle data worked! Makes a good point about unit tests being fully capable to verify the logic.
That said, it took me easily twice as much time to write the tests and the code (as expected). But for any further changes, I can be assured to not have broken something.