def test_swap_cities(): epsilon = 0.0000000000001 road_map1 = [ ('Alabama', 'Montgomery', '32.361538', '-86.279118'), ('Alaska', 'Juneau', '58.301935', '-134.41974'), ('Arizona', 'Phoenix', '33.448457', '-112.073844'), ('Arkansas', 'Little Rock', '34.736009', '-92.331122'), ('California', 'Sacramento', '38.555605', '-121.468926') ] expected_map1 = [ ('Arkansas', 'Little Rock', '34.736009', '-92.331122'), ('Alaska', 'Juneau', '58.301935', '-134.41974'), ('Arizona', 'Phoenix', '33.448457', '-112.073844'), ('Alabama', 'Montgomery', '32.361538', '-86.279118'), ('California', 'Sacramento', '38.555605', '-121.468926') ] expected_map2 = [ ('Alabama', 'Montgomery', '32.361538', '-86.279118'), ('Alaska', 'Juneau', '58.301935', '-134.41974'), ('California', 'Sacramento', '38.555605', '-121.468926'), ('Arkansas', 'Little Rock', '34.736009', '-92.331122'), ('Arizona', 'Phoenix', '33.448457', '-112.073844') ] expected_map3 = [ ('Alabama', 'Montgomery', '32.361538', '-86.279118'), ('Alaska', 'Juneau', '58.301935', '-134.41974'), ('Arizona', 'Phoenix', '33.448457', '-112.073844'), ('Arkansas', 'Little Rock', '34.736009', '-92.331122'), ('California', 'Sacramento', '38.555605', '-121.468926') ] # Test case 1 returned = cities.swap_cities(road_map1, 0, 3) new_road_map = returned[ 0 ] new_total_distance = returned[ 1 ] expected_total_distance = 9648.295805724285 assert expected_map1 == new_road_map assert abs(expected_total_distance - new_total_distance) < epsilon # Test case 2 returned = cities.swap_cities(road_map1, 2, 4) new_road_map = returned[ 0 ] new_total_distance = returned[ 1 ] expected_total_distance = 8583.007779472131 assert expected_map2 == new_road_map assert abs(expected_total_distance - new_total_distance) < epsilon # Test case 3 (if index1==index2) returned = cities.swap_cities(road_map1, 3, 3) new_road_map = returned[ 0 ] new_total_distance = returned[ 1 ] expected_total_distance = 9624.208366999157 assert expected_map3 == new_road_map assert abs(expected_total_distance - new_total_distance) < epsilon
def test_swap_cities(road_map, index1, index2, expected_road_map, expected_distance): original_road_map = copy.copy(road_map) new_road_map, total_distance = swap_cities(road_map, index1, index2) assert new_road_map == expected_road_map assert total_distance == expected_distance assert road_map == original_road_map
def test_swap_cities5(): x = [('Kentucky', 'Frankfort', '38.197274', '-84.86311'),('Louisiana', 'Baton Rouge', '30.45809', '-91.140229'),('Maine', 'Augusta', '44.323535', '-69.765261')] swap = cities.swap_cities(x, 2, 2) x = [('Maine', 'Augusta', '44.323535', '-69.765261'),('Louisiana', 'Baton Rouge', '30.45809', '-91.140229'),('Kentucky', 'Frankfort', '38.197274', '-84.86311')] assert swap == (x, 3036.927798004586)
def test_swap_cities2(): x = [('Kentucky', 'Frankfort', '38.197274', '-84.86311'), ('Louisiana', 'Baton Rouge', '30.45809', '-91.140229')] swap = cities.swap_cities(x, 1, 1) x = [('Louisiana', 'Baton Rouge', '30.45809', '-91.140229'),('Kentucky', 'Frankfort', '38.197274', '-84.86311')] assert swap == (x, 1285.5038285821333)