def test_all_legal_moves(self):
   test_board = ProductGameBoard(AbstractTranspositionTable())
   test_board.make_move(ProductGameMove(1, 3))
   test_board.make_move(ProductGameMove(1, 4))
   test_board.make_move(ProductGameMove(1, 5))
   test_board.make_move(ProductGameMove(1, 6))
   test_board.make_move(ProductGameMove(1, 7))
   test_board.make_move(ProductGameMove(1, 9))
   test_board.make_move(ProductGameMove(2, 9))
   test_board.make_move(ProductGameMove(2, 8))
   test_board.make_move(ProductGameMove(2, 7))
   test_board.make_move(ProductGameMove(2, 6))
   test_board.make_move(ProductGameMove(2, 5))
   test_board.make_move(ProductGameMove(2, 1))
   # okay, all multiples of 1 and 2 are taken except 1 and 8
   self.assertEqual(3, len(test_board.all_legal_moves()))
 def test_all_legal_moves_start(self):
   board = ProductGameBoard(AbstractTranspositionTable())
   self.assertEqual(sum(range(1,10)), len(board.all_legal_moves()))