def test_zero_time_till_next_bus(self): test_val = 17 arrival_time = 17 expected = test_val - arrival_time test_obj = Bus(test_val) result = test_obj.get_time_till_next_bus(arrival_time) self.assertEqual(result, expected)
def test_calculate_closest_bus(self): test_bus_input = [7, 13, 59] exspected = [945, 949, 944] test_time = 939 for bus, ex in zip(test_bus_input, exspected): test_obj = Bus(bus) result = test_obj.calculate_closest_bus(test_time) self.assertEqual(result, ex)
def test_get_time_till_closest_bus(self): test_obj = Schedule() test_obj.add_bus(Bus(7)) test_obj.add_bus(Bus(13)) test_obj.add_bus(Bus(59)) test_time = 939 results = test_obj.get_time_till_closest_bus(test_time) exspected = [5, 59] self.assertEqual(results, exspected)
def test_get_next_bus_times(self): test_obj = Schedule() test_obj.add_bus(Bus(7)) test_obj.add_bus(Bus(13)) test_obj.add_bus(Bus(59)) test_time = 939 results = test_obj.get_all_next_bus_times(test_time) exspected = {945: 7, 949: 13, 944: 59} self.assertEqual(results, exspected)
def test_find_bus_sequence(self): test_seq = [17, 'x', 13, 19] test_obj = Schedule() for bus in test_seq: test_obj.add_bus(Bus(bus)) self.assertEqual(test_obj.find_bus_sequence(), 3417)
def test_find_longer_bus_sequence(self): test_seq = [7, 13, 'x', 'x', 59, 'x', 31, 19] test_obj = Schedule() for bus in test_seq: test_obj.add_bus(Bus(bus)) self.assertEqual(test_obj.find_bus_sequence(), 1068781)
def test_create_Bus_obj(self): test_obj = Bus() self.assertIsInstance(test_obj, Bus)
def test_create_bus_schedule(self): test_bus_input = [7, 13, 59] test_obj = Schedule() for bus in test_bus_input: test_obj.add_bus(Bus(bus)) self.assertEqual(test_obj.get_all_bus_ids(), test_bus_input)
def test_create_Bus_with_custom_id(self): test_id = 5 test_obj = Bus(test_id) self.assertEqual(test_obj.id_num, test_id)