def testGeneral(self): score_points_input = [ rank_adjuster_interface.ScorePoint(100., self.points['Pier 39']), rank_adjuster_interface.ScorePoint(100., self.points['Golden Gate Bridge']), rank_adjuster_interface.ScorePoint(100., self.points['Sutro Baths'])] parameters_point_types = point.PointType( city_tours=90, landmarks=90, nature=10, museums=10, shopping=50, dining=50) city_visit_parameters = city_visit.CityVisitParameters( test_util.MockVisitLocation(), day_visit_parameterss=[test_util.MockDayVisitParameters()], point_type=parameters_point_types, age_group=test_util.MockAgeGroup()) score_points_actual = ( self.point_type_rank_adjuster.AdjustRank( score_points_input, city_visit_parameters)) score_points_expected = [ rank_adjuster_interface.ScorePoint(22.683, self.points['Pier 39']), rank_adjuster_interface.ScorePoint(22.7, self.points['Golden Gate Bridge']), rank_adjuster_interface.ScorePoint(9.15, self.points['Sutro Baths'])] self.assertScorePointsEqual( score_points_expected, score_points_actual, places=3)
def ReadCSV(csv_filepath): """Read CSV file to list of Points.""" points_df = pd.read_csv(csv_filepath) points = [] for _, point_series in points_df.iterrows(): points.append( point_.Point(name=ExtractString(point_series['Name']), coordinates_starts=ExtractCoordinates( point_series['CoordinatesStarts']), coordinates_ends=ExtractCoordinates( point_series['CoordinatesEnds']), operating_hours=ExtractOperatingHours( point_series['OperatingHoursOpens'], point_series['OperatingHoursCloses']), duration=ExtractFloat(point_series['Duration']), popularity=ExtractInt(point_series['Popularity']), point_type=point_.PointType( city_tours=ExtractInt(point_series['City Tours']), landmarks=ExtractInt(point_series['Landmarks']), nature=ExtractInt(point_series['Nature']), museums=ExtractInt(point_series['Museums']), shopping=ExtractInt(point_series['Shopping']), dining=ExtractInt(point_series['Dining'])), age_group=point_.AgeGroup( senior=ExtractInt(point_series['Senior']), adult=ExtractInt(point_series['Adult']), junior=ExtractInt(point_series['Junior']), child=ExtractInt(point_series['Child']), toddlers=ExtractInt(point_series['Toddlers'])), price=ExtractFloat(point_series['Price']), parking=ExtractInt(point_series['Parking']), eating=ExtractInt(point_series['Eating']))) return points
def testStr(self): point_type = point.PointType(city_tours=None, landmarks=None, nature=None, museums=None, shopping=None, dining=None) self.assertEqual('No point type', '%s' % point_type) point_type = point.PointType(city_tours=None, landmarks=30, nature=None, museums=None, shopping=50, dining=50) self.assertEqual('Dining (50), Shopping (50), Landmarks (30)', '%s' % point_type)
def GetCityVisitParameters(visit_location, day_visit_parameterss): parameters_point_types = point.PointType(city_tours=90, landmarks=90, nature=10, museums=10, shopping=50, dining=50) parameters_age_groups = point.AgeGroup(senior=None, adult=90, junior=None, child=None, toddlers=10) return city_visit.CityVisitParameters( visit_location=visit_location, day_visit_parameterss=day_visit_parameterss, point_type=parameters_point_types, age_group=parameters_age_groups)
def testReadCSVGeneral(self): s = str() s += 'ID,Name,CoordinatesStarts,CoordinatesEnds,OperatingHoursOpens,OperatingHoursCloses,Duration,Popularity,City Tours,Landmarks,Nature,Museums,Shopping,Dining,Senior,Adult,Junior,Child,Toddlers,Price,Parking,Eating\n' s += '1,Ferry Building,"37.7955N, 122.3937W",,09:00:00,18:00:00,1,80,,100,,,,,90,90,40,70,,,,100\n' s += '2,Pier 39,"37.8100N, 122.4104W",,10:00:00,22:00:00,3,80,,100,,,30,60,70,70,70,90,,,,100\n' csv_filepath = tempfile.mktemp() with open(csv_filepath, 'w') as csv_file: csv_file.write(s) pier_39 = point.Point( name='Pier 39', coordinates_starts=point.Coordinates(37.8100, -122.4104), coordinates_ends=None, operating_hours=point.OperatingHours(datetime.time(10, 0, 0), datetime.time(22, 0, 0)), duration=3., popularity=80, point_type=point.PointType( city_tours=None, landmarks=100, nature=None, museums=None, shopping=30, dining=60), age_group=point.AgeGroup( senior=70, adult=70, junior=70, child=90, toddlers=None), price=None, parking=None, eating=100) points = read_csv.ReadCSV(csv_filepath) self.assertEqual(2, len(points)) self.assertEqual(pier_39, points[1]) points = read_csv.ReadCSVToDict(csv_filepath) self.assertEqual(2, len(points)) self.assertEqual(set(['Ferry Building', 'Pier 39']), set(points.keys())) self.assertEqual(pier_39, points['Pier 39'])
day2 = city_visit.DayVisitParameters( start_datetime=datetime.datetime(2019, 7, 2, 10, 0, 0), end_datetime=datetime.datetime(2019, 7, 2, 17, 0, 0), lunch_start_datetime=datetime.datetime(2019, 7, 1, 14, 0, 0), lunch_hours=1., start_coordinates=start_end_coordinates, end_coordinates=start_end_coordinates) from data import city_visit from data import point visit_location = city_visit.VisitLocation('New York City') parameters_point_types = point.PointType(city_tours=90, landmarks=90, nature=10, museums=10, shopping=50, dining=50) parameters_age_groups = point.AgeGroup(senior=None, adult=90, junior=None, child=None, toddlers=10) city_visit_parameters = city_visit.CityVisitParameters( visit_location=visit_location, day_visit_parameterss=[day1, day2], point_type=parameters_point_types, age_group=parameters_age_groups)