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( [[3,3,3,3,3,3], [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(48, score) tab = np.array( [[2,2,2,3,0,0], [2,3,0,2,2,3], [3,2,3,2,3,2], [0,3,2,3,2,2]] ) target = np.array( [[3,2,2,3,2,3], [3,3,3,3,3,3], [0,2,2,3,2,0], [0,3,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,0,3], [2,0,2,0], [0,3,0,2], [2,2,3,2]] ) target = np.array( [[3,2,2,3], [2,3,3,3], [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(16, score)
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() > 15)
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))