def test_board_shift_right(self): b = Board() b.set_number(0, 0, 2) b.set_number(0, 1, 0) b.set_number(0, 2, 2) b.set_number(0, 3, 4) b.shift_board_right() self.assertTrue(b.board[0] == [0, 0, 4, 4]) b.set_row(3, [2, 0, 0, 0]) b.shift_board_right() self.assertTrue(b.get_row(3) == [0, 0, 0, 2]) # test basic shift only b.set_board([[2, 0, 0, 0], [0, 2, 0, 0], [0, 0, 2, 0], [0, 0, 0, 2]]) b.shift_board_right() self.assertTrue(b.get_row(0) == [0, 0, 0, 2]) self.assertTrue(b.get_row(1) == [0, 0, 0, 2]) self.assertTrue(b.get_row(2) == [0, 0, 0, 2]) self.assertTrue(b.get_row(3) == [0, 0, 0, 2]) # test shift and merge b.set_board([[4, 4, 4, 4], [0, 4, 4, 4], [0, 0, 4, 4], [0, 0, 0, 4]]) b.shift_board_right() self.assertTrue(b.get_row(0) == [0, 0, 8, 8]) self.assertTrue(b.get_row(1) == [0, 0, 4, 8]) self.assertTrue(b.get_row(2) == [0, 0, 0, 8]) self.assertTrue(b.get_row(3) == [0, 0, 0, 4]) # test shift and merge b.set_board([[4, 4, 4, 4], [4, 4, 4, 0], [4, 4, 0, 0], [4, 0, 0, 0]]) b.shift_board_right() self.assertTrue(b.get_row(0) == [0, 0, 8, 8]) self.assertTrue(b.get_row(1) == [0, 0, 4, 8]) self.assertTrue(b.get_row(2) == [0, 0, 0, 8]) self.assertTrue(b.get_row(3) == [0, 0, 0, 4]) # test shift and merge b.set_board([[4, 4, 4, 4], [4, 4, 0, 4], [0, 4, 4, 0], [0, 0, 4, 0]]) b.shift_board_right() self.assertTrue(b.get_row(0) == [0, 0, 8, 8]) self.assertTrue(b.get_row(1) == [0, 0, 4, 8]) self.assertTrue(b.get_row(2) == [0, 0, 0, 8]) self.assertTrue(b.get_row(3) == [0, 0, 0, 4])
def test_shift_array(self): b = Board() b.set_row(3, [2, 2, 4, 4]) # row numb then List b.shift_board_right() self.assertTrue(b.get_row(3) == [0, 0, 4, 8])
def test_set_column(self): b = Board() b.set_row(1, [4, 3, 2, 1]) self.assertTrue(b.get_row(1) == [4, 3, 2, 1])