Esempio n. 1
0
 def testTouchOn00(self):
     board.touch(self.b, (0, 0))
     b2 = board.newboard("""
         0 3 2 2 1
         0 4 1 3 4
         0 4 0 3 4
         3 0 0 1 4
         3 4 0 4 2
         1 1 0 4 1
         """)
     self.assertEquals(self.b, b2)
Esempio n. 2
0
    def eval(self):
        if self.solved:
            self._solution_found()
            return

        if self.aborted:
            return

        for spot in self.b.keys():
            bcp = self.b.copy()
            board.touch(bcp, spot)
            child = Node(bcp, spot, self)
            self.children.append(child)

        map(lambda x: x.eval(), self.children)
Esempio n. 3
0
    def testTouchToSolve(self):
        board.touch(self.b, (4, 1))
        self.assertEqual(scoreboard(self.b), 30)

        b2 = board.newboard("""
            4 4 2 2 1
            0 0 2 3 4
            0 0 0 4 4
            3 0 0 3 4
            0 0 0 0 4
            3 0 0 0 3
            """)
        self.assertEquals(self.b, b2)

        board.touch(self.b, (1, 4))

        b2 = board.newboard("""
            4 4 3 0 0
            0 0 3 0 0
            0 0 0 0 0
            4 0 0 0 0
            0 0 0 0 0
            4 0 0 0 0
            """)
        self.assertEquals(self.b, b2)

        board.touch(self.b, (0, 1))

        b2 = board.newboard("""
            0 0 0 0 0
            0 0 4 0 0
            0 0 0 0 0
            0 0 0 0 0
            0 0 0 0 0
            0 0 0 0 0
            """)
        self.assertEquals(self.b, b2)

        board.touch(self.b, (1, 2))

        b2 = board.newboard("""
            0 0 0 0 0
            0 0 0 0 0
            0 0 0 0 0
            0 0 0 0 0
            0 0 0 0 0
            0 0 0 0 0
            """)
        self.assertEquals(self.b, b2)
Esempio n. 4
0
    def testTouchOn01(self):
        board.touch(self.b, (0, 1))
        b2 = board.newboard("""
            4 3 2 2 1
            0 4 1 3 4
            0 4 0 3 4
            2 0 0 1 4
            3 4 0 4 2
            1 1 0 4 1
            """)
        self.assertEquals(self.b, b2)

        board.touch(self.b, (0, 1))
        b2 = board.newboard("""
            4 4 2 2 1
            0 4 1 3 4
            0 4 0 3 4
            2 0 0 1 4
            3 4 0 4 2
            1 1 0 4 1
            """)
        self.assertEquals(self.b, b2)

        board.touch(self.b, (0, 1))
        b2 = board.newboard("""
            0 0 4 2 1
            0 0 2 3 4
            0 0 0 4 4
            4 0 0 3 4
            0 0 0 0 4
            2 3 0 0 2
            """)
        self.assertEquals(self.b, b2)

        board.touch(self.b, (2, 3))
        b2 = board.newboard("""
            0 0 4 4 4
            0 0 3 0 0
            0 0 0 0 0
            0 0 0 0 0
            0 0 0 0 0
            3 3 0 0 4
            """)
        self.assertEquals(self.b, b2)
Esempio n. 5
0
 def testTouchOutOfABubble(self):
     b2 = self.b.copy()
     board.touch(self.b, (0, 3))
     self.assertEqual(self.b, b2)