chase rakudo CALLER:: semantics.
remove a few old workarounds for 4-year-old rakudo
"defined" is no longer a prefix operator.
[t/01-game-rules.t] added 'our' to everything
wrote thirtieth test; passes right away
wrote twenty-ninth test
wrote 28th test; passes right away
However, I can make it fail by removing a line from last commit, so it's fine.
wrote tests 26 and 27; 26 fails
added, wrote twenty-fifth test
implemented 23rd and 24th tests; pass right away
[Druid::Player] replaced .init() with .new()
[Druid::Game] replaced .init() with .new()
wrote twenty-second test
made twenty-first test pass
wrote twenty-first test
wrote twentieth test; passes right away
wrote nineteenth test
wrote eighteenth test
It passes, even though it shouldn't.
rethought swapping mechanics
replaced explicit param lists with placeholder vars
replaced ~~ Failure with !defined
Looks nicer. Theoretically, I could just test for boolean truth, but that
feels a bit too implicit.
wrote seventeenth test; passes right away
added sixteenth test
Also corrected a few previous tests that checked for death instead of failure.
This made the fifth test die.
added fifteenth test; passed right away
implemented fourteenth test
This uncovered a bug in Druid::Game which made it die
added thirteenth test -- passes right away
corrected tests ten and eleven
They turned out not to have been converted to the new semantics of failure
instead of death, and only passed before because of the lack of casting in
Druid::Game. Who watches the watchers?
added twelfth test; causes Druid::Game to die
fixed syntax of two tests
The implementation changed under them. Illegal moves now fail instead of
implemented eleventh test
implemented tenth test; passed right away
wrote ninth test -- passes right away
Also rewrote a previous test to test only one thing.
implemented eighth test; it fails
implemented seventh test; passed right away
Also ditched the redundant color parameter.