Esempio n. 1
0
 def test_kings_becoming(self):
     g = Game()
     g.board = [
         list(' . . . . .'),  # 0
         list('. w . . . '),  # 1
         list(' . . . . .'),  # 2
         list('. . . . . '),  # 3
         list(' . . . . .'),  # 4
         list('. . . . . '),  # 5
         list(' . . . . .'),  # 6
         list('. . . . . '),  # 7
         list(' b . . . .'),  # 8
         list('. . . . . ')   # 9
     ]
     self.assertTrue(g.makemove([(1, 2), (0, 1)]))    # valid
     self.assertTrue(g.makemove([(8, 1), (9, 0)]))    # valid
     validboard = [
         list(' W . . . .'),  # 0
         list('. . . . . '),  # 1
         list(' . . . . .'),  # 2
         list('. . . . . '),  # 3
         list(' . . . . .'),  # 4
         list('. . . . . '),  # 5
         list(' . . . . .'),  # 6
         list('. . . . . '),  # 7
         list(' . . . . .'),  # 8
         list('B . . . . ')   # 9
     ]
     self.assertEqual(g.board, validboard)
Esempio n. 2
0
    def test_few_moves(self):
        g = Game()
        g.board = [
            list(' b b b b b'),  # 0
            list('b b b b b '),  # 1
            list(' b b b b b'),  # 2
            list('b b b b b '),  # 3
            list(' . . . . .'),  # 4
            list('. . . . . '),  # 5
            list(' w w w w w'),  # 6
            list('w w w w w '),  # 7
            list(' w w w w w'),  # 8
            list('w w w w w ')   # 9
        ]

        self.assertFalse(g.makemove([(6, 2), (5, 0)]))  # impossible move
        self.assertTrue(g.makemove([(6, 1), (5, 0)]))   # valid move
        self.assertFalse(g.makemove([(6, 1), (5, 0)]))  # invalid, its
                                                        # opponent turn
        self.assertTrue(g.makemove([(3, 0), (4, 1)]))   # valid move
        self.assertTrue(g.makemove([(6, 3), (5, 2)]))   # valid move
        self.assertFalse(g.makemove([(2, 1), (3, 0)]))     # invalid, must kill
        self.assertTrue(g.makemove([(4, 1), (5, 2), (6, 3)]))    # killing
        self.assertTrue(g.makemove([(7, 2), (6, 3), (5, 4)]))    # killing
        self.assertTrue(g.makemove([(2, 1), (3, 0)]))    # valid now
        self.assertTrue(g.makemove([(7, 4), (6, 3)]))    # valid
        self.assertTrue(g.makemove([(3, 4), (4, 3)]))    # valid
        self.assertTrue(g.makemove([(6, 9), (5, 8)]))    # valid
        self.assertTrue(g.makemove([(3, 0), (4, 1)]))    # valid
        self.assertTrue(g.makemove([(6, 5), (5, 6)]))    # valid
        self.assertFalse(g.makemove([(4, 3), (5, 4), (6, 5), (5, 6), (4, 7)]))
        self.assertFalse(g.makemove([(4, 3), (5, 4), (6, 5), (5, 6), (4, 7),
                                     (5, 8)]))
        self.assertTrue(g.makemove([(4, 3), (5, 4), (6, 5), (5, 6), (4, 7),
                                    (5, 8), (6, 9)]))
        validboard = [
            list(' b b b b b'),  # 0
            list('b b b b b '),  # 1
            list(' . b b b b'),  # 2
            list('. b . b b '),  # 3
            list(' b . . . .'),  # 4
            list('w . . . . '),  # 5
            list(' . w . w b'),  # 6
            list('w . . w w '),  # 7
            list(' w w w w w'),  # 8
            list('w w w w w ')   # 9
        ]
        self.assertEqual(g.board, validboard)