Exemplo n.º 1
0
class FuelPumpTest(unittest.TestCase):

    def setUp(self):
        self.fuel_pump = FuelPump(capacity=5000, price_per_liter=3.00)

    def it_has_a_capacity(self):
        self.fuel_pump.capacity |should| equal_to(5000)

    def it_has_a_price_per_liter(self):
        self.fuel_pump.price_per_liter |should| close_to(3, delta=0.0001)

    def it_has_initially_zero_fuel(self):
        self.fuel_pump.fuel_count |should| close_to(0, delta=0.00001)

    def it_can_be_filled(self):
        self.fuel_pump.fill()
        self.fuel_pump.fuel_count |should| close_to(5000, delta=0.00001)

    def it_can_fuel_by_value(self):
        self.fuel_pump.fill()
        self.fuel_pump.fuel_by_value(90) |should| close_to(30.00, delta=0.0001)
        self.fuel_pump.fuel_count |should| close_to(4970, delta=0.0001)

    def it_raises_error_for_insufficient_fuel(self):
        self.fuel_pump.fill()
        (self.fuel_pump.fuel_by_value, 15001) |should| throw(InsufficientFuel)

    def it_can_fuel_by_liters(self):
        self.fuel_pump.fill()
        self.fuel_pump.fuel_by_liters(10) |should| close_to(30, delta=0.0001)
        self.fuel_pump.fuel_count |should| close_to(4990, delta=0.0001)

    def it_raises_error_for_insufficient_fuel(self):
        self.fuel_pump.fill()
        (self.fuel_pump.fuel_by_liters, 5001) |should| throw(InsufficientFuel)