def test_move_row_works(self): b = Board(seed=False) # Make the top row 2 1 0 1 b._tiles[0, :] = [2, 1, 0, 1] # Move to the left, so look at row left-to-right row_1 = ((0, 0), (0, 1), (0, 2), (0, 3)) b._move_tile_row(row_1) self.assertEqual(b._tiles.take(0), 2) self.assertEqual(b._tiles.take(1), 2) b._move_tile_row(row_1) self.assertEqual(b._tiles.take(0), 4) # Make the second row 1 1 0 2 b._tiles[1, :] = [1, 1, 0, 2] row_2 = ((1, 0), (1, 1), (1, 2), (1, 3)) b._move_tile_row(row_2) # Expect 2 2 0 0 self.assertEqual(b._tiles.take(4), 2) self.assertEqual(b._tiles.take(5), 2) b._move_tile_row(row_2) self.assertEqual(b._tiles.take(4), 4) # First column is now 2 2 0 0 # Move up to merge col_1 = ((0, 0), (1, 0), (2, 0), (3, 0)) b._move_tile_row(col_1) self.assertEqual(b._tiles.take(0), 8)