Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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)]
Ejemplo n.º 8
0
def test_asteroidmap_fail_import_map():
    map_data = ["#..", ".#.", "*.."]
    object = AsteroidMap()
    assert not object.import_map(map_data)
Ejemplo n.º 9
0
def test_asteroidmap_fail_vaporize():
    object = AsteroidMap()
    assert object.import_map(TEST)
    assert not object.vaporize()