class TestVehicle(unittest.TestCase): def setUp(self): self.rider = Rider(0, 2, 10, (1, 1), (4, 4), 2) self.next_rider = Rider(0, 9, 15, (2, 2), (3, 3), 2) self.vehicle = Vehicle(0, 2) def test_distance_to_rider(self): self.assertEqual(self.vehicle.distance_to_rider(self.rider), 2) def test_arriving_time_of_rider(self): self.assertEqual(self.vehicle.arriving_time_of_rider(self.rider), 2) def test_waiting_time(self): self.assertEqual(self.vehicle.waiting_time(self.rider), 0) def test_starting_time_of_rider(self): self.assertEqual(self.vehicle.starting_time_of_rider(self.rider), 2) def test_ending_time_of_rider(self): self.assertEqual(self.vehicle.ending_time_of_rider(self.rider), 8) def test_is_rider_possible(self): self.assertTrue(self.vehicle.is_rider_possible(self.rider)) def test_is_bonus_avaliable(self): self.assertTrue(self.vehicle.is_rider_possible(self.rider)) def test_score_of_rider(self): self.assertEqual(self.vehicle.score_of_rider(self.rider), 8) def test_assign_rider(self): self.vehicle.assign_rider(self.rider) self.assertEqual(self.vehicle.current_position, (4, 4)) self.assertEqual(self.vehicle.current_time, 8)