def testUserInputForTripTwoInput(self): """ Test the case in which the user has provided two inputs """ MODE_CONFIRM_KEY = "manual/mode_confirm" ts = esta.TimeSeries.get_time_series(self.testUserId) new_trip = self.create_fake_trip() new_mc = ecul.Userlabel() new_mc["start_ts"] = new_trip.data.start_ts + 1 new_mc["end_ts"] = new_trip.data.end_ts + 1 new_mc["label"] = "car" ts.insert_data(self.testUserId, MODE_CONFIRM_KEY, new_mc) user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), MODE_CONFIRM_KEY) # WHen there is only one input, it is a car self.assertEqual(new_mc, user_input.data) self.assertEqual(user_input.data.label, "car") new_mc["label"] = "bike" ts.insert_data(self.testUserId, MODE_CONFIRM_KEY, new_mc) user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), MODE_CONFIRM_KEY) # When it is overridden, it is a bike self.assertEqual(new_mc, user_input.data) self.assertEqual(user_input.data.label, "bike")
def testUserInputForTripTwoInput(self): """ Test the case in which the user has provided two inputs """ MODE_CONFIRM_KEY = "manual/mode_confirm" ts = esta.TimeSeries.get_time_series(self.testUserId) new_trip = self.create_fake_trip() new_mc = ecul.Userlabel() new_mc["start_ts"] = new_trip.data.start_ts + 1 new_mc["end_ts"] = new_trip.data.end_ts + 1 new_mc["label"] = "car" ts.insert_data(self.testUserId, MODE_CONFIRM_KEY, new_mc) user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), MODE_CONFIRM_KEY) # WHen there is only one input, it is a car self.assertEqual(new_mc, user_input.data) self.assertEqual(user_input.data.label, "car") new_mc["label"] = "bike" ts.insert_data(self.testUserId, MODE_CONFIRM_KEY, new_mc) user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), MODE_CONFIRM_KEY) # When it is overridden, it is a bike self.assertEqual(new_mc, user_input.data) self.assertEqual(user_input.data.label, "bike")
def testUserInputRealData(self): np.random.seed(61297777) dataFile = "emission/tests/data/real_examples/shankari_single_positional_indexer.dec-12" etc.setupRealExample(self, dataFile) self.testUserId = self.testUUID # At this point, we have only raw data, no trips etc.runIntakePipeline(self.testUUID) # At this point, we have trips # Let's retrieve them ts = esta.TimeSeries.get_time_series(self.testUUID) ct_df = ts.get_data_df("analysis/cleaned_trip", time_query=None) self.assertEqual(len(ct_df), 4) # Now, let's load the mode_confirm and purpose_confirm objects mode_confirm_list = json.load(open( "emission/tests/data/real_examples/shankari_single_positional_indexer.dec-12.mode_confirm" ), object_hook=bju.object_hook) self.assertEqual(len(mode_confirm_list), 5) purpose_confirm_list = json.load(open( "emission/tests/data/real_examples/shankari_single_positional_indexer.dec-12.purpose_confirm" ), object_hook=bju.object_hook) self.assertEqual(len(purpose_confirm_list), 7) for mc in mode_confirm_list: mc["user_id"] = self.testUUID ts.insert(mc) for pc in purpose_confirm_list: pc["user_id"] = self.testUUID ts.insert(pc) mc_label_list = [] pc_label_list = [] for trip_id in ct_df._id: mc = esdt.get_user_input_for_trip(esda.CLEANED_TRIP_KEY, self.testUserId, ct_df._id[0], "manual/mode_confirm") mc_label_list.append(mc.data.label) pc = esdt.get_user_input_for_trip(esda.CLEANED_TRIP_KEY, self.testUserId, ct_df._id[0], "manual/purpose_confirm") pc_label_list.append(pc.data.label) self.assertEqual(mc_label_list, 4 * ['bike']) self.assertEqual(pc_label_list, 4 * ['pick_drop'])
def testUserInputForTripNoInputs(self): """ Test the case in which the user has not provided any inputs """ new_trip = self.create_fake_trip() user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), "manual/mode_confirm") self.assertIsNone(user_input)
def testUserInputRealData(self): np.random.seed(61297777) dataFile = "emission/tests/data/real_examples/shankari_single_positional_indexer.dec-12" etc.setupRealExample(self, dataFile) self.testUserId = self.testUUID # At this point, we have only raw data, no trips etc.runIntakePipeline(self.testUUID) # At this point, we have trips # Let's retrieve them ts = esta.TimeSeries.get_time_series(self.testUUID) ct_df = ts.get_data_df("analysis/cleaned_trip", time_query=None) self.assertEqual(len(ct_df), 4) # Now, let's load the mode_confirm and purpose_confirm objects mode_confirm_list = json.load(open("emission/tests/data/real_examples/shankari_single_positional_indexer.dec-12.mode_confirm"), object_hook=bju.object_hook) self.assertEqual(len(mode_confirm_list), 5) purpose_confirm_list = json.load(open("emission/tests/data/real_examples/shankari_single_positional_indexer.dec-12.purpose_confirm"), object_hook=bju.object_hook) self.assertEqual(len(purpose_confirm_list), 7) for mc in mode_confirm_list: mc["user_id"] = self.testUUID ts.insert(mc) for pc in purpose_confirm_list: pc["user_id"] = self.testUUID ts.insert(pc) mc_label_list = [] pc_label_list = [] for trip_id in ct_df._id: mc = esdt.get_user_input_for_trip(esda.CLEANED_TRIP_KEY, self.testUserId, ct_df._id[0], "manual/mode_confirm") mc_label_list.append(mc.data.label) pc = esdt.get_user_input_for_trip(esda.CLEANED_TRIP_KEY, self.testUserId, ct_df._id[0], "manual/purpose_confirm") pc_label_list.append(pc.data.label) self.assertEqual(mc_label_list, 4 * ['bike']) self.assertEqual(pc_label_list, 4 * ['pick_drop'])
def testUserInputForTripNoInputs(self): """ Test the case in which the user has not provided any inputs """ new_trip = self.create_fake_trip() user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), "manual/mode_confirm") self.assertIsNone(user_input)
def testUserInputForTripOneInput(self): """ Test the case in which the user has provided exactly one input """ MODE_CONFIRM_KEY = "manual/mode_confirm" new_trip = self.create_fake_trip() new_mc = ecul.Userlabel() new_mc["start_ts"] = new_trip.data.start_ts + 1 new_mc["end_ts"] = new_trip.data.end_ts + 1 ts = esta.TimeSeries.get_time_series(self.testUserId) ts.insert_data(self.testUserId, MODE_CONFIRM_KEY, new_mc) user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), MODE_CONFIRM_KEY) self.assertEqual(new_mc, user_input.data)
def testUserInputForTripOneInput(self): """ Test the case in which the user has provided exactly one input """ MODE_CONFIRM_KEY = "manual/mode_confirm" new_trip = self.create_fake_trip() new_mc = ecul.Userlabel() new_mc["start_ts"] = new_trip.data.start_ts + 1 new_mc["end_ts"] = new_trip.data.end_ts + 1 ts = esta.TimeSeries.get_time_series(self.testUserId) ts.insert_data(self.testUserId, MODE_CONFIRM_KEY, new_mc) user_input = esdt.get_user_input_for_trip(esda.RAW_TRIP_KEY, self.testUserId, new_trip.get_id(), MODE_CONFIRM_KEY) self.assertEqual(new_mc, user_input.data)