'''
>>> getCoordinates("Youngstown OH")
[4110, 8065]
>>> getPopulation("Youngstown OH")
115436
>>> getDistance("Youngstown OH", "Ravenna OH")
34
>>> getDistance("Youngstown OH", "Youngstown OH")
0
>>> getDistance("Youngstown OH", "Yankton SD")
966
>>> getCoordinates("Wisconsin Dells WI")
[4363, 8977]
>>> getPopulation("Wisconsin Dells WI")
2521
>>> getCoordinates("Ravenna OH")
[4116, 8124]
>>> getPopulation("Ravenna OH")
11987
>>> nearbyCities("Youngstown OH", 100.0)
['Ravenna OH', 'Steubenville OH', 'Wheeling WV', 'Youngstown OH']
>>> getDistance("Youngstown OH",'Ravenna OH')
34
>>> getDistance("Youngstown OH",'Steubenville OH')
60
>>> getDistance("Youngstown OH",'Wheeling WV')
85
>>> nearbyCities("Waterloo IA", 200.0)
['Rochester MN', 'Rockford IL', 'Saint Paul MN', 'Waterloo IA']
>>> nearbyCities("San Francisco CA", 100.0)
['Sacramento CA', 'San Francisco CA', 'San Jose CA', 'Santa Rosa CA', 'Stockton CA']
>>> nearbyCities("Waco TX", 200)
['San Antonio TX', 'Sherman TX', 'Tyler TX', 'Waco TX']
>>> len(nearbyCities("Waco TX",20000)) 
128
>>> len(nearbyCities("Winston-Salem NC", 0)) 
1
>>> "Waterloo IA" in nearbyCities("Waterbury CT", 1190)
True
>>> "Walla Walla WA" in nearbyCities("Waterbury CT", 1190)
False
>>> getDistance("Valdosta GA", "Valley City ND")
1648
>>> map(getPopulation, nearbyCities("Utica NY", 100))
[67972, 170105, 75632, 27861]
>>> sum(map(getPopulation, nearbyCities("Salisbury MD", 20000)))
15344591
>>> sum(map(getPopulation, nearbyCities("Waco TX", 20000)))
15344591
>>> nearbyCities("Saint Johnsbury VT", 150)
['Rutland VT', 'Saint Johnsbury VT']
>>> len(filter(bool, map(lambda s: len(nearbyCities(s, 50))-1, nearbyCities("Rhinelander WI", 20000))))
18
>>> getCoordinates("Utica NY")[0] > getCoordinates("Waco TX")[0]
True
>>> getDistance("Tampa FL", "Tallahassee FL")
245
>>> filter(lambda s: "BC" in s, nearbyCities("Salina KS", 20000))
['Vancouver BC']
>>> filter(lambda s: s.startswith("San"), nearbyCities("Salina KS", 20000))
['San Angelo TX', 'San Antonio TX', 'San Bernardino CA', 'San Diego CA', 'San Francisco CA', 'San Jose CA', 'Sandusky OH', 'Santa Ana CA', 'Santa Barbara CA', 'Santa Fe NM', 'Santa Rosa CA']
>>> filter(lambda s: "IA" in s, nearbyCities("Salina KS", 20000))
['Sioux City IA', 'Waterloo IA']
'''
#-------------------------------------------------------
from project1Phase1 import *
#-------------------------------------------------------
if __name__ == "__main__":
    import doctest
    doctest.testmod()
