예제 #1
0
 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])
예제 #2
0
    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])