def find_max_duration__counterclockwise_test(): resp_builder = ResponseBuilder()\ .journey(sections=[ {'mode': 'Walking', 'duration': 240}, {'type': 'PT', 'duration': 300}, {'mode': 'Walking', 'duration': 120}, ], type='best', arrival='T1231')\ .journey(uri='rapid', sections=[ {'mode': 'Walking', 'duration': 120}, {'type': 'PT', 'duration': 300}, {'mode': 'Walking', 'duration': 120}, ], type='rapid', arrival='T1501')\ .journey(uri='non pt', sections=[ {'mode': 'Walking', 'duration': 130}, ], type='non_pt_walk', arrival='T1534') response = resp_builder.response scenario = default.Scenario() assert scenario._find_max_duration(response.journeys, Instance(), False) == 580 scenario._delete_too_long_journey(response, Instance(), False) assert len(response.journeys) == 2 assert response.journeys[0] == resp_builder.get_journey('rapid') assert response.journeys[1] == resp_builder.get_journey('non pt')
def find_max_duration_clockwise_test_no_walk(): """ we don't have a journey with walking so max_duration is None, and we keep all journeys """ resp_builder = ResponseBuilder()\ .journey(uri='best', sections=[ {'mode': 'Bike', 'duration': 240}, {'type': 'PT', 'duration': 300}, {'mode': 'Walking', 'duration': 120}, ], type='best', arrival='T1534')\ .journey(uri='rapid', sections=[ {'mode': 'Walking', 'duration': 120}, {'type': 'PT', 'duration': 300}, {'mode': 'Bike', 'duration': 120}, ], type='rapid', arrival='T1534') response = resp_builder.response scenario = default.Scenario() eq_(scenario._find_max_duration(response.journeys, Instance(), True), None) scenario._delete_too_long_journey(response, Instance(), True) eq_(len(response.journeys), 2) eq_(response.journeys[0], resp_builder.get_journey('best')) eq_(response.journeys[1], resp_builder.get_journey('rapid'))
def find_max_duration_clockwise_test(): resp_builder = ResponseBuilder()\ .journey(sections=[ {'mode': 'Walking', 'duration': 240}, {'type': 'PT', 'duration': 300}, {'mode': 'Walking', 'duration': 120}, ], type='best', arrival='T1501')\ .journey(uri='rapid', sections=[ {'mode': 'Walking', 'duration': 120}, {'type': 'PT', 'duration': 300}, {'mode': 'Walking', 'duration': 120}, ], type='rapid', arrival='T1501')\ .journey(uri='non pt', sections=[ {'mode': 'Walking', 'duration': 130}, ], type='non_pt_walk', arrival='T1231') response = resp_builder.response scenario = default.Scenario() eq_(scenario._find_max_duration(response.journeys, Instance(), True), 580) scenario._delete_too_long_journey(response, Instance(), True) eq_(len(response.journeys), 2) eq_(response.journeys[0], resp_builder.get_journey('rapid')) eq_(response.journeys[1], resp_builder.get_journey('non pt'))
def sort_destineo_test(): resp_builder = ResponseBuilder()\ .journey(uri='journey_tc3', sections=[ {'mode': 'Walking'}, {'type': 'PT'}, {'mode': 'Walking'}, ], departure='T1230')\ .journey(uri='journey_tc1', sections=[ {'mode': 'Walking'}, {'type': 'PT'}, {'mode': 'Walking'}, ], departure='T1100')\ .journey(uri='journey_bike', sections=[ #{'mode': 'Bike'} ], type='non_pt_bike', departure='T1100')\ .journey(uri='journey_bss', sections=[ {'mode': 'Walking'}, {'type': 'BSS_RENT'}, {'mode': 'Bike'}, {'type': 'BSS_PUT_BACK'}, {'mode': 'Walking'} ], type='non_pt_bss', departure='T1100')\ .journey(uri='journey_walk', sections=[ #{'mode': 'Walking'}, ], type='non_pt_walk', departure='T1100')\ .journey(uri='journey_tc2', sections=[ {'mode': 'Walking'}, {'type': 'PT'}, {'mode': 'Walking'}, ], departure='T1200')\ .journey(uri='journey_bss_and_tc', sections=[ {'mode': 'Walking'}, {'type': 'BSS_RENT'}, {'mode': 'Bike'}, {'type': 'BSS_PUT_BACK'}, {'type': 'PT'}, {'mode': 'Walking'}, ], departure='T1200')\ .journey(uri='journey_bike_and_tc', sections=[ {'mode': 'Bike'}, {'type': 'PT'}, {'mode': 'Walking'}, ], departure='T1200')\ .journey(uri='journey_car_and_tc', sections=[ {'mode': 'Car'}, {'type': 'PT'}, {'mode': 'Walking'}, ], departure='T1200')\ response = resp_builder.response scenario = destineo.Scenario() scenario._custom_sort_journeys(response, clockwise=True, timezone='Africa/Abidjan') assert response.journeys[0] == resp_builder.get_journey('journey_tc1') assert response.journeys[1] == resp_builder.get_journey('journey_tc2') assert response.journeys[2] == resp_builder.get_journey('journey_tc3') assert response.journeys[3] == resp_builder.get_journey('journey_bss') assert response.journeys[4] == resp_builder.get_journey( 'journey_bss_and_tc') assert response.journeys[5] == resp_builder.get_journey( 'journey_bike_and_tc') assert response.journeys[6] == resp_builder.get_journey( 'journey_car_and_tc') assert response.journeys[7] == resp_builder.get_journey('journey_walk') assert response.journeys[8] == resp_builder.get_journey('journey_bike')