class TestGameBoard(TestCase):
def test_export_new_board(self):
- board = GameBoard.new_game([{'actions': []}])
+ board = GameBoard.new_game([{'actions': [{
+ 'action_class': 'LoseHealthOrMSB',
+ 'required_bits': [],
+ }]}])
exported_state = board.export()
board_locations = exported_state.pop('board_locations')
self.assertEqual(exported_state, {
'health': 4,
'wins_required': 4,
'wins': 0,
- 'locations': [{'actions': []}],
+ 'locations': [{'actions': [{
+ 'action_class': 'LoseHealthOrMSB',
+ 'required_bits': [],
+ }]}],
'player': board.player.export(),
})
self.assertEqual(
for location_state in board_locations.values():
self.assertEqual(
sorted(location_state.keys()), ['actions', 'bitwise_operand'])
- self.assertEqual(location_state['actions'], [])
+ self.assertEqual(location_state['actions'], [{
+ 'action_class': 'LoseHealthOrMSB',
+ 'required_bits': [],
+ 'data': {},
+ }])
self.assertTrue(2 <= len(location_state['bitwise_operand']) <= 3)
def test_lose_health(self):
def test_new_location_no_actions(self):
location = LocationCard.new_location({'actions': []})
- self.assertEqual(location.actions, [])
+ [action] = location.actions
+ self.assertEqual(type(action), actions.DoNothing)
+ self.assertEqual(action.required_bits, set())
def test_new_location_one_action(self):
location = LocationCard.new_location({'actions': [