def test_carRefuel_whenPositiveFuelAndMoreThanCapacity_shouldSetAmountToCapacity( self): make = 'test make' model = 'test model' fuel_consumption = 6 fuel_capacity = 60 params = [make, model, fuel_consumption, fuel_capacity] car = Car(*params) car.refuel(car.fuel_capacity * 2) self.assertEqual(car.fuel_capacity, car.fuel_amount)
def test_carRefuel_whenPositiveFuelAndEnoughInCapacity_shouldIncreaseAmount( self): make = 'test make' model = 'test model' fuel_consumption = 6 fuel_capacity = 60 params = [make, model, fuel_consumption, fuel_capacity] car = Car(*params) car.refuel(5) self.assertEqual(5, car.fuel_amount)
def test_carInit_whenNegativeFuelAmount_shouldRaise(self): make = 'test make' model = 'test model' fuel_consumption = 6 fuel_capacity = 60 params = [make, model, fuel_consumption, fuel_capacity] car = Car(*params) with self.assertRaises(Exception) as context: car.fuel_amount = -1 self.assertIsNotNone(context.exception)
def test_carDrive_whenNotEnoughFuel_shouldRaise(self): make = 'test make' model = 'test model' fuel_consumption = 6 fuel_capacity = 60 params = [make, model, fuel_consumption, fuel_capacity] car = Car(*params) with self.assertRaises(Exception) as context: car.drive(100) self.assertIsNotNone(context.exception)
def test_carRefuel_whenZeroFuel_shouldRaise(self): make = 'test make' model = 'test model' fuel_consumption = 6 fuel_capacity = 60 params = [make, model, fuel_consumption, fuel_capacity] car = Car(*params) with self.assertRaises(Exception) as context: car.refuel(0) self.assertIsNotNone(context.exception)
def test_carInit_whenValidValues_shouldInitialize(self): make = 'test make' model = 'test model' fuel_consumption = 6 fuel_capacity = 60 car = Car(make, model, fuel_consumption, fuel_capacity) expected = [make, model, fuel_consumption, fuel_capacity, 0] actual = [ car.make, car.model, car.fuel_consumption, car.fuel_capacity, car.fuel_amount ] self.assertListEqual(expected, actual)
def test_carDrive_whenEnoughFuel_shouldDecreaseFuel(self): make = 'test make' model = 'test model' fuel_consumption = 6 fuel_capacity = 60 params = [make, model, fuel_consumption, fuel_capacity] car = Car(*params) car.refuel(car.fuel_capacity) distance = 100 car.drive(distance) expected = car.fuel_capacity - car.fuel_consumption * distance / 100 actual = car.fuel_amount self.assertEqual(expected, actual)
def __get_exception_from_init(self, make, model, fuel_consumption, fuel_capacity): with self.assertRaises(Exception) as context: Car(make, model, fuel_consumption, fuel_capacity) return context.exception