Example #1
0
    def test_MoveUp(self):
        tab = np.array([[2, 2, 2, 0, 0, 0], [2, 0, 0, 2, 2, 0],
                        [0, 2, 0, 2, 0, 2], [0, 0, 2, 0, 2, 2]])
        target = np.array([[4, 4, 4, 4, 4, 4], [0, 0, 0, 0, 0, 0],
                           [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]])
        grid = GameGrid(0, 0, tab)
        score, has_moved = grid.moveUp()
        self.assertTrue(array2DEquals(grid.matrix, target),
                        "\n" + str(grid.matrix) + "\n" + str(target))
        self.assertTrue(has_moved)
        self.assertEqual(24, score)

        tab = np.array([[2, 2, 2, 4, 0, 0], [2, 4, 0, 2, 2, 4],
                        [4, 2, 4, 2, 4, 2], [0, 4, 2, 4, 2, 2]])
        target = np.array([[4, 2, 2, 4, 2, 4], [4, 4, 4, 4, 4, 4],
                           [0, 2, 2, 4, 2, 0], [0, 4, 0, 0, 0, 0]])
        grid = GameGrid(0, 0, tab)
        score, has_moved = grid.moveUp()
        self.assertTrue(array2DEquals(grid.matrix, target),
                        "\n" + str(grid.matrix) + "\n" + str(target))
        self.assertTrue(has_moved)
        self.assertEqual(12, score)

        tab = np.array([[2, 2, 0, 4], [2, 0, 2, 0], [0, 4, 0, 2], [2, 2, 4,
                                                                   2]])
        target = np.array([[4, 2, 2, 4], [2, 4, 4, 4], [0, 2, 0, 0],
                           [0, 0, 0, 0]])
        grid = GameGrid(0, 0, tab)
        score, has_moved = grid.moveUp()
        self.assertTrue(array2DEquals(grid.matrix, target),
                        "\n" + str(grid.matrix) + "\n" + str(target))
        self.assertTrue(has_moved)
        self.assertEqual(8, score)
Example #2
0
    def test_ArrayDEquals(self):
        a = np.array([[0, 0, 0], [0, 0, 0]])
        b = np.array([[0, 0], [0, 0]])
        self.assertFalse(array2DEquals(a, b))

        b = np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0]])
        self.assertFalse(array2DEquals(a, b))

        b = np.array([[0, 0, 0], [0, 0, 0]])
        self.assertTrue(array2DEquals(a, b))

        a = np.array([[1, 3, 0], [0, 4, 0]])
        b = np.array([[1, 3, 0], [1, 4, 0]])
        self.assertFalse(array2DEquals(a, b))

        a = np.array([[4, 3, 0], [0, 4, 0]])
        b = np.array([[1, 3, 0], [0, 4, 0]])
        self.assertFalse(array2DEquals(a, b))

        a = np.array([[1, 3, 0], [0, 4, 9]])
        b = np.array([[1, 3, 0], [0, 4, 0]])
        self.assertFalse(array2DEquals(a, b))

        a = np.array([[1, 3, 0], [0, 4, 0]])
        b = np.array([[1, 3, 0], [0, 4, 0]])
        self.assertTrue(array2DEquals(a, b))
Example #3
0
    def test_add_random_tile(self):

        tab = np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0,
                                                                   0]])
        grid = GameGrid(0, 0, tab)
        grid.add_random_tile()
        self.assertTrue(grid.matrix.sum() > 0)

        tab = np.array([[2, 2, 2, 2], [2, 2, 2, 2], [2, 2, 2, 2], [2, 2, 2,
                                                                   2]])
        grid = GameGrid(0, 0, tab)
        grid.add_random_tile()
        self.assertTrue(array2DEquals(tab, grid.matrix))

        tab = np.array([[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1,
                                                                   1]])
        for row in range(4):
            for column in range(4):
                grid = GameGrid(0, 0, tab)
                grid.matrix[row, column] = 0
                grid.add_random_tile()
                self.assertTrue(grid.matrix.sum() > 16)