Exemple #1
0
    def test_iterate_all_moves_with_both_players(self):
        p3 = Piece((0, 1), Owner.OPPONENT, Rank('4'))
        b = Board().place_piece(p2).place_piece(p3)

        expected_for_player = [((0, 0), m)
                               for m in b.iterate_moves_for_piece(p2)]
        expected_for_opponent = [((0, 1), m)
                                 for m in b.iterate_moves_for_piece(p3)]
        self.assertEqual(list(b.iterate_all_moves(Owner.PLAYER)),
                         expected_for_player)
        self.assertEqual(list(b.iterate_all_moves(Owner.OPPONENT)),
                         expected_for_opponent)
Exemple #2
0
    def test_iterate_all_moves_with_multiple_pieces(self):
        b = Board().place_piece(p2).place_piece(p1)

        expected = ([((0, 0), m) for m in b.iterate_moves_for_piece(p2)] +
                    [((0, 1), m) for m in b.iterate_moves_for_piece(p1)])
        self.assertEqual(list(b.iterate_all_moves(Owner.PLAYER)), expected)
Exemple #3
0
    def test_iterate_all_moves_with_one_piece(self):
        b = Board().place_piece(p2)

        expected = [((0, 0), m) for m in b.iterate_moves_for_piece(p2)]
        self.assertEqual(list(b.iterate_all_moves(Owner.PLAYER)), expected)
Exemple #4
0
 def test_iterate_moves_for_piece_forbids_attacking_in_camp(self):
     b = Board().place_piece(p1).place_piece(opponent)
     self.assertEqual(len(list(b.iterate_moves_for_piece(p1))), 3)
     self.assertFalse((1, 2) in list(b.iterate_moves_for_piece(p1)))
     self.assertTrue((0, 1) in list(b.iterate_moves_for_piece(opponent)))
Exemple #5
0
 def test_iterate_moves_for_piece_forbids_moving_onto_blocked_spaces(self):
     b = Board().place_piece(p2).place_piece(p1)
     self.assertEqual(list(b.iterate_moves_for_piece(p2)), [(1, 0)])
Exemple #6
0
 def test_iterate_moves_for_piece_simple(self):
     b = Board().place_piece(p2)
     self.assertEqual(list(b.iterate_moves_for_piece(p2)), [(0, 1), (1, 0)])