def test_asteroidmap_find_new_base(): object = AsteroidMap() assert object.import_map(TEST) assert object.find_new_base() == 8 assert object.best_visibility == 8 assert object.basex == 3 assert object.basey == 4
def test_asteroidmap_vaporize(): result = [(3, 2), (4, 0), (4, 2), (4, 3), (4, 4), (0, 2), (1, 2), (2, 2), (1, 0)] object = AsteroidMap() assert object.import_map(TEST) assert object.find_new_base() == 8 assert object.vaporize() assert object.vaporized == result
def test_asteroidmap_is_visible(): object = AsteroidMap() assert object.import_map(TEST) assert object._is_visible(2, 2, 1, 0) assert not object._is_visible(2, 2, 0, 2) assert object._is_visible(3, 2, 1, 0) assert object._is_visible(4, 0, 4, 2) assert not object._is_visible(4, 0, 4, 4) assert not object._is_visible(3, 2, 3, 2)
def test_asteroidmap_import_map(): result = [ [False, True, False, False, True], [False, False, False, False, False], [True, True, True, True, True], [False, False, False, False, True], [False, False, False, True, True], ] object = AsteroidMap() assert object.import_map(TEST) assert object.asteroid == result
def test_asteroidmap_get_visible(): object = AsteroidMap() assert object.import_map(TEST) assert object._get_visible(1, 0) == 7 assert object._get_visible(4, 0) == 7 assert object._get_visible(0, 2) == 6 assert object._get_visible(1, 2) == 7 assert object._get_visible(2, 2) == 7 assert object._get_visible(3, 2) == 7 assert object._get_visible(4, 2) == 5 assert object._get_visible(4, 3) == 7 assert object._get_visible(3, 4) == 8 assert object._get_visible(4, 4) == 7
def test_asteroidmap_vaporize_validate(): testfile = "test4.txt" map_data = read_mapfile(testfile) object = AsteroidMap() assert object.import_map(map_data) assert object.find_new_base() assert object.vaporize() assert object.get_vaporized(1) == (11, 12) assert object.get_vaporized(2) == (12, 1) assert object.get_vaporized(3) == (12, 2) assert object.get_vaporized(10) == (12, 8) assert object.get_vaporized(20) == (16, 0) assert object.get_vaporized(50) == (16, 9) assert object.get_vaporized(100) == (10, 16) assert object.get_vaporized(199) == (9, 6) assert object.get_vaporized(200) == (8, 2) assert object.get_vaporized(201) == (10, 9) assert object.get_vaporized(299) == (11, 1) assert len(object.vaporized) == 299
def test_asteroidmap_scan_for_target(): object = AsteroidMap() assert object.import_map(TEST) assert object.find_new_base() == 8 targets = object._scan_for_target() assert targets == [(3, 2), (4, 0), (4, 2), (4, 3), (4, 4), (0, 2), (1, 2), (2, 2)]
def test_asteroidmap_fail_import_map(): map_data = ["#..", ".#.", "*.."] object = AsteroidMap() assert not object.import_map(map_data)
def test_asteroidmap_fail_vaporize(): object = AsteroidMap() assert object.import_map(TEST) assert not object.vaporize()