示例#1
0
def test_neighbors_detail(board, point):
    count_neighbors = 0
    for dx in [-1, 0, 1]:
        for dy in [-1, 0, 1]:
            if dx == 0 and dy == 0:
                continue

            board.mark_alive(Point(point.x + dx, point.y + dy))
            count_neighbors += 1
            assert_count_neighbors(board, point, count_neighbors)
示例#2
0
def test_mark_out_of_range_right(board, dx, dy):
    point = Point(board._width + dx, board._height + dy)
    board.mark_alive(point)
    assert board.get(point) is CeilState.ALIVE
示例#3
0
def point(board, faker):
    return Point(x=faker.pyint(min_value=0, max_value=board._width - 1),
                 y=faker.pyint(min_value=0, max_value=board._height - 1))
示例#4
0
def test_mark_alive(board, faker):
    point = Point(x=faker.pyint(min_value=0, max_value=board.width - 1),
                  y=faker.pyint(min_value=0, max_value=board.height - 1))
    board.mark_alive(point=point)
    assert not is_empty(board.to_array())
    assert board.get(point) is CeilState.ALIVE
示例#5
0

def test_get_empty_ceils(board):
    assert is_empty(board.to_array())


def test_mark_alive(board, faker):
    point = Point(x=faker.pyint(min_value=0, max_value=board.width - 1),
                  y=faker.pyint(min_value=0, max_value=board.height - 1))
    board.mark_alive(point=point)
    assert not is_empty(board.to_array())
    assert board.get(point) is CeilState.ALIVE


@pytest.mark.parametrize('mark_point', [
    Point(-1, 0),
    Point(0, -1),
    Point(-1, -1),
])
def test_mark_out_of_range_left(board, mark_point):
    board.mark_alive(mark_point)
    assert board.get(mark_point) is CeilState.ALIVE


@pytest.mark.parametrize('dx, dy', [
    (0, 1),
    (1, 0),
    (1, 1),
])
def test_mark_out_of_range_right(board, dx, dy):
    point = Point(board._width + dx, board._height + dy)