                            (engine/take-space :space7)
                            (engine/change-player-turn)
                            (engine/take-space :space8)
-                           (engine/all-remaining-spaces)))))
+                           (engine/all-remaining-spaces))))
+          (it "snapshot: should have 0 spaces left"
+              (should= #{}
+                       (do (engine/take-space :space0)
+                           (engine/change-player-turn)
+                           (engine/take-space :space1)
+                           (engine/change-player-turn)
+                           (engine/take-space :space2)
+                           (engine/change-player-turn)
+                           (engine/take-space :space3)
+                           (engine/change-player-turn)
+                           (engine/take-space :space4)
+                           (engine/change-player-turn)
+                           (engine/take-space :space5)
+                           (engine/change-player-turn)
+                           (engine/take-space :space6)
+                           (engine/change-player-turn)
+                           (engine/take-space :space7)
+                           (engine/change-player-turn)
+                           (engine/take-space :space8)
+                           (engine/all-remaining-spaces @game-state)))))
 
 (describe "space-available?:"
           (before (engine/reset-game))
+          ;; -----
           (it "space should be available"
               (should= true
                        (do (engine/put! :board-size 3) 

                           (engine/take-space :space1)
                           (engine/take-space :space2)
                           (engine/space-available? :space3))))
          (it "space should not be available"
              (should= false
                       (do (engine/put! :board-size 3) 
                           (engine/take-space :space0)
                           (engine/take-space :space1)
                           (engine/take-space :space2)
                           (engine/space-available? :space2)))))

(describe "player-win?:"
          (before (engine/reset-game))

                           (engine/take-space :space0)
                           (engine/take-space :space1)
                           (engine/take-space :space2)
                           (engine/game-over?))))
          (it "snapshot: game should be over because player2 won"
              (should= true
                       (do (engine/put! :board-size 3)
                           (engine/change-player-turn)
                           (engine/take-space :space0)
                           (engine/take-space :space1)
                           (engine/take-space :space2)
                           (engine/game-over? @game-state)))))

(describe "player-turn-sequence:"
          (before (engine/reset-game))
