Beispiel #1
0
 def test_calling_calculate_speed(self, mock_calculate_speed, mock_trip):
     type(mock_trip.return_value).time_driven = PropertyMock(
         return_value=1800)
     type(mock_trip.return_value).miles_driven = PropertyMock(
         return_value=60)
     trips = Trips()
     trips.add_trip("00:00", "00:30", "30")
     mock_calculate_speed.assert_called_with(60, 1800)
Beispiel #2
0
 def test_add_trip_to_array(self, mock_calculate_speed, mock_trip):
     type(mock_trip.return_value).is_valid = PropertyMock(return_value=True)
     mock_calculate_speed.return_value = 60
     trips = Trips()
     trips.add_trip("00:00", "01:00", "10")
     expected_trips_length = 1
     actual_trips_length = len(trips.trips)
     self.assertEqual(expected_trips_length, actual_trips_length)
Beispiel #3
0
 def test_dropping_invalid_trip(self, mock_trip):
     type(
         mock_trip.return_value).is_valid = PropertyMock(return_value=False)
     trips = Trips()
     trips.add_trip("00:00", "01:00", "10")
     expected_trips_length = 0
     actual_trips_length = len(trips.trips)
     self.assertEqual(expected_trips_length, actual_trips_length)
Beispiel #4
0
 def test_add_total_time_driven(self, mock_calculate_speed, mock_trip):
     type(mock_trip.return_value).is_valid = PropertyMock(return_value=True)
     mock_calculate_speed.return_value = 60
     type(mock_trip.return_value).time_driven = PropertyMock(
         return_value=360)
     trips = Trips()
     trips.add_trip("00:00", "01:00", "39")
     expected_total_time_driven = 360
     actual_total_time_driven = trips.total_time_driven
     self.assertEqual(expected_total_time_driven, actual_total_time_driven)
Beispiel #5
0
 def test_updating_total_speed(self, mock_calculate_speed, mock_trip):
     type(mock_trip.return_value).time_driven = PropertyMock(
         return_value=1800)
     type(mock_trip.return_value).miles_driven = PropertyMock(
         return_value=60)
     mock_calculate_speed.return_value = 60
     trips = Trips()
     trips.add_trip("00:00", "00:30", "30")
     expected_total_speed = 60
     actual_total_speed = trips.total_average_speed
     self.assertEqual(expected_total_speed, actual_total_speed)
Beispiel #6
0
class Driver:
    def __init__(self):
        self._trips = Trips()

    def add_trip(self, *args):
        """
        Calls the add_trip method in Trips
        :param args: an array of parameters that will be passed down to the
                     trip class. typical includes start_time, end_time,
                     distance_driven
        """
        self._trips.add_trip(*args)

    def get_trip_total_miles_driven(self):
        """
        gets the total miles driven of the trip

        :return: total_miles_driven: Float
        """
        return self._trips.total_miles_driven

    def get_trip_total_time_driven(self):
        """
        gets the total time driven of the trip

        :return: total_time_driven: Float in hours
        """
        return self._trips.total_time_driven

    def get_trip_total_average_speed(self):
        """
        get the total average speed
        :return: total_average_speed: Float in miles per hour
        """
        return self._trips.total_average_speed

    @property
    def trips(self):
        """
        Return the trips object that belongs to the driver

        :return: tips: trips object
        """
        return self._trips
Beispiel #7
0
 def __init__(self):
     self._trips = Trips()
Beispiel #8
0
 def test_get_total_average_speed(self):
     trips = Trips()
     expected_total_average_speed = 0
     actual_total_average_speed = trips.total_average_speed
     self.assertEqual(expected_total_average_speed,
                      actual_total_average_speed)
Beispiel #9
0
 def test_get_trips(self):
     trips = Trips()
     expected_trips = []
     actual_trips = trips.trips
     self.assertEqual(expected_trips, actual_trips)
Beispiel #10
0
 def test_get_total_time_driven(self):
     trips = Trips()
     expected_total_time_driven = 0
     actual_total_time_driven = trips.total_time_driven
     self.assertEqual(expected_total_time_driven, actual_total_time_driven)
Beispiel #11
0
 def test_add_trip_calls_trip(self, mock_calculate_speed, mock_trip):
     type(mock_trip.return_value).is_valid = PropertyMock(return_value=True)
     mock_calculate_speed.return_value = 60
     trips = Trips()
     trips.add_trip("00:00", "01:00", "10")
     self.assertEqual(mock_trip.call_args[0], ("00:00", "01:00", "10"))