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)
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
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))
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
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)