def test_location_in_direction(): input_data = get_input_data("tests/day11/test_input_data.txt") output_data = get_input_data("tests/day11/test_results_part2_data.txt") input_grid = Grid2(input_data) output_grid = Grid2(output_data) current_grid = input_grid while True: new_grid = update_grid2(current_grid) if current_grid == new_grid: break else: current_grid = new_grid assert new_grid == output_grid
def test_integration(): input_data = get_input_data("tests/day11/test_input_data.txt") output_data = get_input_data("tests/day11/test_results_data.txt") input_grid = Grid(input_data) output_grid = Grid(output_data) current_grid = input_grid while True: new_grid = update_grid(current_grid) if current_grid == new_grid: break else: current_grid = new_grid assert new_grid == output_grid
def main(): input_data = get_input_data("advent_of_code_2020/day11/input.txt") grid = Grid(input_data) # Part 2 current_grid = grid while True: new_grid = update_grid(current_grid) if current_grid == new_grid: break else: current_grid = new_grid result_part2 = sum( current_grid.is_occupied(location) for location in current_grid.get_locations()) print(f"{result_part2} seats are occupied seats")
def test_see_occupied_seats(): input_data = get_input_data("tests/day11/test_input_data.txt") input_grid = Grid2(input_data)
def test_location(): input_data = get_input_data("tests/day11/test_input_data.txt") input_grid = Grid(input_data) assert len(list(input_grid.get_neighbours(Location(0, 0)))) == 3