def test_init(self): # none patterns = [m(), M] for pattern in patterns: self.assertIsNone(pattern._Move__x) self.assertIsNone(pattern._Move__y) self.assertEqual(pattern._Move__str, '') self.assertEqual(pattern._Move__case, LOWER) # x, y, str patterns = [m(0, 1), m('a2')] for pattern in patterns: self.assertEqual(pattern._Move__x, 0) self.assertEqual(pattern._Move__y, 1) self.assertEqual(pattern._Move__str, 'a2') # case move = m(case='upper') self.assertEqual(move._Move__case, 'upper') # put_disc board = Board() board.put_disc('black', *m('f5')) self.assertEqual(board.get_bitboard_info(), (34829500416, 68719476736)) board.put_disc('white', *m('d6')) self.assertEqual(board.get_bitboard_info(), (34561064960, 68988960768))
def test_to_xy(self): patterns = [ ('a1', (0, 0)), ('A1', (0, 0)), # upper case is also ok. ('a2', (0, 1)), ('a8', (0, 7)), ('b1', (1, 0)), ('b2', (1, 1)), ('h1', (7, 0)), ('h8', (7, 7)), ('z1', (25, 0)), ('a26', (0, 25)), ('z26', (25, 25)), ] for pattern, expected in patterns: self.assertEqual(M.to_xy(pattern), expected) board = Board() board.put_disc('black', *M.to_xy('f5')) self.assertEqual(board.get_bitboard_info(), (34829500416, 68719476736)) board.put_disc('white', *M.to_xy('d6')) self.assertEqual(board.get_bitboard_info(), (34561064960, 68988960768))