Пример #1
0
def test_cell_can_move(direction):
    b = Board(size=(10, 24))
    c = Cell(position=(3, 4), color=(0, 0, 0))

    old_position = c.position
    c.move(b, direction)

    assert c.position == (
        old_position[0] + direction[0],
        old_position[1] + direction[1],
    )
Пример #2
0
def test_cell_can_not_move_if_exceed_limit(direction):
    b = Board(size=(10, 24))
    direction_x, direction_y = direction
    if direction_x:
        potential_values_of_x = {1: 9, -1: 0}
        initial_position = (potential_values_of_x[direction_x], 0)
    else:
        potential_values_of_y = {1: 23, -1: 0}
        initial_position = (0, potential_values_of_y[direction_y])
    c = Cell(position=initial_position, color=(0, 0, 0))

    with pytest.raises(CanNotMove):
        c.move(b, direction)

    assert c.position == initial_position
Пример #3
0
def test_cell_can_not_move_if_there_already_is_a_cell(direction):
    b = Board(
        size=(10, 24),
        deactivated_cells=[Cell(position=(4, 4), color=(0, 0, 0))],
    )
    direction_x, direction_y = direction
    potential_values = {1: 3, -1: 5, 0: 4}
    initial_position = (
        potential_values[direction_x],
        potential_values[direction_y],
    )
    c = Cell(position=initial_position, color=(0, 0, 0))

    with pytest.raises(CanNotMove):
        c.move(b, direction)

    assert c.position == initial_position