def test_spot_to_action(self): self.assertEqual( GameWrapper.convert_spot_to_action(GameBoard.Spot(0, 0)), 0) self.assertEqual( GameWrapper.convert_spot_to_action(GameBoard.Spot(1, 0)), 8) self.assertEqual( GameWrapper.convert_spot_to_action(GameBoard.Spot(1, 2)), 10)
def test_action_to_spot(self): self.assertEqual(GameWrapper.convert_action_to_spot(0), GameBoard.Spot(0, 0)) self.assertEqual(GameWrapper.convert_action_to_spot(8), GameBoard.Spot(1, 0)) self.assertEqual(GameWrapper.convert_action_to_spot(10), GameBoard.Spot(1, 2)) with self.assertRaises(Exception) as context: GameWrapper.convert_action_to_spot(64) with self.assertRaises(Exception) as context: GameWrapper.convert_action_to_spot(-1)
def convert_action_to_spot(self, action: int): # if action < 0 or action >= self.get_action_size(): # raise ValueError('Action needs to be between [0, 64), received {0}' % action) row = int(action / self.board_size) col = int(action % self.board_size) # remainder spot = GameBoard.Spot(row, col, self.board_size) return spot