Exemple #1
0
 def setup_method(self):
     self.order = Order(1)
     self.order.add_side(Side("Fries", 1, 10), 1)
     self.order.add_side(Side("Cake", 3, 10), 2)
     self.order.add_drink(Drink("Juice", 3, 10), 2)
     self.order.add_drink(Drink("Soda", 3, 10), 1)
     burger = Burger()
     burger.add_ingredient(Ingredient("Patty", 1, 10), 1)
     burger.add_ingredient(Ingredient("Cheese", 1, 10), 2)
     self.order.add_creation(burger)
Exemple #2
0
def setup_order():
    order = Order(1)
    order.add_side(Side("Fries", 1, 10), 1)
    order.add_side(Side("Cake", 3, 10), 2)
    order.add_drink(Drink("Juice", 3, 10), 2)
    order.add_drink(Drink("Soda", 3, 10), 1)
    burger = Burger()
    burger.add_ingredient(Ingredient("Patty", 1, 10), 1)
    burger.add_ingredient(Ingredient("Cheese", 1, 10), 2)
    order.add_creation(burger)
    return order
class TestItemQuantityUpdate():
    def setup_method(self):
        self.ing1 = Ingredient("Cheese", 5, 40)
        self.side1 = Side("Wedges", 2, 50)
        self.drink1 = Drink("Cola", 3, 50)

    def test_add_to_item(self):
        self.ing1.update_quantity(10)
        assert self.ing1.total_quantity == 50
        self.side1.update_quantity(10)
        assert self.side1.total_quantity == 60
        self.drink1.update_quantity(10)
        assert self.drink1.total_quantity == 60
Exemple #4
0
class TestUpdateQuantity():
    def setup_method(self):
        self.ing1 = Ingredient("Cheese", 5, 40)
        self.side1 = Side("Wedges", 2, 50)
        self.drink1 = Drink("Cola", 3, 50)

    def test_subtract_from_item(self):
        self.ing1.update_quantity(-10)
        self.side1.update_quantity(-10)
        self.drink1.update_quantity(-10)
        assert self.ing1.total_quantity == 30
        assert self.side1.total_quantity == 40
        assert self.drink1.total_quantity == 40

    def test_subtract_too_much_from_item(self):
        with pytest.raises(QuantityError):
            self.ing1.update_quantity(-70)
            self.side1.update_quantity(-70)
            self.drink1.update_quantity(-70)
 def setup_method(self):
     self.ing1 = Ingredient("Cheese", 5, 40)
     self.side1 = Side("Wedges", 2, 50)
     self.drink1 = Drink("Cola", 3, 50)
Exemple #6
0
 def test_add_drink_over_quantity(self):
     new_drink = Drink("Juice", 1, 10)
     with pytest.raises(QuantityError):
         self.order.add_drink(new_drink, 20)
Exemple #7
0
 def test_add_drink_over_limit(self):
     new_drink = Drink("Juice", 1, 10, 2)
     with pytest.raises(LimitError):
         self.order.add_drink(new_drink, 3)
Exemple #8
0
 def test_add_drink_successful(self):
     new_drink = Drink("Juice", 1, 10)
     self.order.add_drink(new_drink, 2)
     assert len(self.order.drinks) == 1
     assert self.order.drinks[new_drink] == 2
Exemple #9
0
def test_drink_setup_no_limit():
    d = Drink("Juice", 4, 1)
    assert d.name == "Juice"
    assert d.price == 4
    assert d.total_quantity == 1
    assert d.limit == None
Exemple #10
0
    def test_add_side_over_limit(self):
        new_side = Side("Fries", 1, 10, 2)
        with pytest.raises(LimitError):
            self.order.add_side(new_side, 3)

    def test_add_drink_over_limit(self):
        new_drink = Drink("Juice", 1, 10, 2)
        with pytest.raises(LimitError):
            self.order.add_drink(new_drink, 3)

    def test_add_side_over_quantity(self):
        new_side = Side("Fries", 1, 10)
        with pytest.raises(QuantityError):
            self.order.add_side(new_side, 20)

    def test_add_drink_over_quantity(self):
        new_drink = Drink("Juice", 1, 10)
        with pytest.raises(QuantityError):
            self.order.add_drink(new_drink, 20)


'''Visual Tests for US1'''
i = Ingredient("Cheese", 4, 1)
print(i.__str__())

s = Side("Fries", 2, 10, 1)
print(s.__str__())

d = Drink("Juice", 3, 10)
print(d.__str__())
Exemple #11
0
    '''
    Property
    '''

    @property
    def name(self):
        return self._name

    @property
    def nitem(self):
        return self._nitems

    @property
    def items(self):
        return self._items

    '''
    str
    '''

    def __str__(self):
        return f"Menu {self._name}: {self._nitems} item(s)"


if __name__ == "__main__":
    coke_zero = Drink("Coke Zero", 2.5)
    coke_diet = Drink("Coke Diet", 2.5)
    drink_menu = Menu("Drink")
    drink_menu.add_items(coke_diet, coke_zero)
    print(drink_menu)
    drink_menu.display()