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)
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))
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)