diff options
author | dozens | 2024-06-15 21:15:59 -0600 |
---|---|---|
committer | dozens | 2024-06-18 19:43:51 -0600 |
commit | ce09973e7cacccdc779f91b8e6e48a520b9f9f4d (patch) | |
tree | dfa96b0558981278d95395be24668b15ac03732a /lib/no-moves.test.fnl | |
parent | 1250f9f057c2e21a0edab87f0a6003a25decd1b7 (diff) |
feat: add end game
Diffstat (limited to 'lib/no-moves.test.fnl')
-rw-r--r-- | lib/no-moves.test.fnl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/no-moves.test.fnl b/lib/no-moves.test.fnl new file mode 100644 index 0000000..db0613c --- /dev/null +++ b/lib/no-moves.test.fnl @@ -0,0 +1,51 @@ +(let [{: no-moves?} (require :lib.no-moves) + {: neighbors} (require :lib.constants) + {: describe :end test-end} (require :lib.test) + with-neighbors (partial no-moves? neighbors) + ] + + (describe "no-moves()" (fn [t] + (let [moves [ 1 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 ] + player 1 + ] + (t {:given "one move with no moves" + :should "return true" + :expected true + :actual (with-neighbors moves player) + })) + (let [moves [ 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] + player 1 + ] + (t {:given "one move with one move" + :should "return false" + :expected false + :actual (with-neighbors moves player) + })) + (let [moves [ 1 1 1 0 2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 ] + player 1 + ] + (t {:given "several moves with no moves" + :should "return true" + :expected true + :actual (with-neighbors moves player) + })) + (let [moves [ 0 2 0 2 1 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] + player 1 + ] + (t {:given "four occupied neighbors" + :should "return true" + :expected true + :actual (with-neighbors moves player) + })) + (let [moves [ 1 2 1 2 0 2 1 2 1 2 1 0 1 2 1 2 2 2 0 1 0 0 0 0 0 ] + player 2 + ] + (t {:given "this turn that is giving me trouble" + :should "return true" + :expected true + :actual (with-neighbors moves player) + })) + + (test-end)))) + + |