Game state management.
[naja.git] / naja / tests / test_gameboard.py
index 0ad0d28a5f218df26b9be12554094bd6a880d1ec..ca973a1dc01b7c7a992594132827e09bd1ee5adf 100644 (file)
@@ -5,11 +5,29 @@ from naja.gameboard import GameBoard, LocationCard
 
 
 class TestGameBoard(TestCase):
+    def test_export_new_board(self):
+        board = GameBoard(None, 4, 4)
+        self.assertEqual(board.export(), {
+            'max_health': 4,
+            'health': 4,
+            'wins_required': 4,
+            'wins': 0,
+            'locations': {},
+        })
+
     def test_lose_health(self):
-        board = GameBoard(None, 4, 4, locations={}, state=None)
+        board = GameBoard(None, 4, 4)
         self.assertEqual(board.health, 4)
+        state_1 = board.export()
+
         board.lose_health()
         self.assertEqual(board.health, 3)
+        state_2 = board.export()
+
+        # Make sure nothing else has changed.
+        state_1.pop('health')
+        state_2.pop('health')
+        self.assertEqual(state_1, state_2)
 
 
 class TestLocationCard(TestCase):