def test_board_shift_down(self): b = Board() b.set_number(0, 0, 2) b.set_number(1, 0, 0) b.set_number(2, 0, 2) b.set_number(3, 0, 4) b.shift_board_down() self.assertTrue(b.board[0][0] == 0) self.assertTrue(b.board[1][0] == 0) self.assertTrue(b.board[2][0] == 4) self.assertTrue(b.board[3][0] == 4) b.set_number(1, 0, 2) b.shift_board_down() self.assertTrue(b.board[0][0] == 0) self.assertTrue(b.board[1][0] == 0) self.assertTrue(b.board[2][0] == 2) self.assertTrue(b.board[3][0] == 8) b.shift_board_down() self.assertTrue(b.board[0][0] == 0) self.assertTrue(b.board[1][0] == 0) self.assertTrue(b.board[2][0] == 2) self.assertTrue(b.board[3][0] == 8) # 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_down() self.assertTrue(b.get_row(0) == [0, 0, 0, 0]) self.assertTrue(b.get_row(1) == [0, 0, 0, 0]) self.assertTrue(b.get_row(2) == [0, 0, 0, 0]) self.assertTrue(b.get_row(3) == [2, 2, 2, 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_down() self.assertTrue(b.get_row(0) == [0, 0, 0, 0]) self.assertTrue(b.get_row(1) == [0, 0, 0, 0]) self.assertTrue(b.get_row(2) == [0, 0, 4, 8]) self.assertTrue(b.get_row(3) == [4, 8, 8, 8]) # 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_down() self.assertTrue(b.get_row(0) == [0, 0, 0, 0]) self.assertTrue(b.get_row(1) == [0, 0, 0, 0]) self.assertTrue(b.get_row(2) == [8, 4, 0, 0]) self.assertTrue(b.get_row(3) == [8, 8, 8, 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_down() self.assertTrue(b.get_row(0) == [0, 0, 0, 0]) self.assertTrue(b.get_row(1) == [0, 0, 0, 0]) self.assertTrue(b.get_row(2) == [0, 4, 4, 0]) self.assertTrue(b.get_row(3) == [8, 8, 8, 8])
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])
def test_constructor(self): b = Board() self.assertTrue(b.get_row(0) == [0, 0, 0, 0]) self.assertTrue(b.get_row(1) == [0, 0, 0, 0]) self.assertTrue(b.get_row(2) == [0, 0, 0, 0]) self.assertTrue(b.get_row(3) == [0, 0, 0, 0])