class TestAddIngredientToCreation(): #US2 def setup_method(self): self.burger = Burger() self.wrap = Wrap() self.ing_w_limit = Ingredient("Patty", 5, 10, 2) self.ing_wout_limit = Ingredient("Cheese", 5, 10) def test_add_ingredient_under_lim(self): self.wrap.add_ingredient(self.ing_wout_limit, 1) assert len(self.wrap.ingredients) == 1 assert self.wrap.ingredients[self.ing_wout_limit] == 1 assert self.ing_wout_limit in self.wrap.ingredients def test_add_ingredient_on_limit(self): self.burger.add_ingredient(self.ing_w_limit, 2) assert len(self.burger.ingredients) == 1 assert self.burger.ingredients[self.ing_w_limit] == 2 assert self.ing_w_limit in self.burger.ingredients def test_add_ingredient_over_limit(self): with pytest.raises(LimitError): self.burger.add_ingredient(self.ing_w_limit, 10) def test_add_ingredient_over_quantity(self): with pytest.raises(QuantityError): self.wrap.add_ingredient(self.ing_wout_limit, 20)
def test_add_multiple_creations(self): creation1 = Burger() creation2 = Wrap() self.order.add_creation(creation1) self.order.add_creation(creation2) assert len(self.order.creations) == 2 assert creation1 in self.order.creations assert creation2 in self.order.creations
def setup_wrap(): i1 = Ingredient("Falafel", 5, 10) i2 = Ingredient("Cheese", 1, 10) i3 = Ingredient("Carrot", 1.5, 10) i4 = Ingredient("Lettuce", 0.5, 10) wrap = Wrap() wrap.add_ingredient(i1, 2) #10 wrap.add_ingredient(i2, 1) #1 wrap.add_ingredient(i3, 3) #4.5 wrap.add_ingredient(i4, 2) #1.0 return wrap
def setup_system(): sys = Management_System() #Set up Inventory sys.inventory.add_drink("Juice", 1, 10) sys.inventory.add_drink("Soda", 1, 10) sys.inventory.add_drink("Water", 1, 10) sys.inventory.add_ingredient("Patty", 1, 11) sys.inventory.add_ingredient("Falafel", 1, 11) sys.inventory.add_ingredient("Cheese", 1, 11) sys.inventory.add_ingredient("Tomato", 1, 11) sys.inventory.add_ingredient("Carrot", 1, 11) sys.inventory.add_ingredient("Lettuce", 1, 11) sys.inventory.add_ingredient("Chilli", 1, 11) sys.inventory.add_side("Fruit", 1, 11) sys.inventory.add_side("Fries", 1, 11) sys.inventory.add_side("Cake", 1, 11) #Add Orders sys.add_order() sys.add_order() sys.add_order() sys.add_order() #Set up Order details o1 = sys.current_orders[0] o2 = sys.current_orders[1] o3 = sys.current_orders[2] o4 = sys.current_orders[3] o1.add_side(sys.inventory.sides[0], 2) o1.add_drink(sys.inventory.drinks[0], 1) o1.add_creation(Burger()) o1.creations[0].add_ingredient(sys.inventory.ingredients[0], 2) o1.creations[0].add_ingredient(sys.inventory.ingredients[3], 1) o1.creations[0].add_ingredient(sys.inventory.ingredients[5], 1) o2.add_side(sys.inventory.sides[1], 1) o2.add_drink(sys.inventory.drinks[1], 1) o2.add_creation(Wrap()) o2.creations[0].add_ingredient(sys.inventory.ingredients[2], 1) o2.creations[0].add_ingredient(sys.inventory.ingredients[1], 2) o2.creations[0].add_ingredient(sys.inventory.ingredients[5], 1) o3.add_side(sys.inventory.sides[0], 2) o3.add_drink(sys.inventory.drinks[0], 1) o3.add_creation(Burger()) o3.creations[0].add_ingredient(sys.inventory.ingredients[0], 2) o3.creations[0].add_ingredient(sys.inventory.ingredients[4], 1) o3.creations[0].add_ingredient(sys.inventory.ingredients[6], 1) o4.add_side(sys.inventory.sides[0], 2) o4.add_drink(sys.inventory.drinks[0], 1) o4.add_creation(Burger()) o4.creations[0].add_ingredient(sys.inventory.ingredients[0], 2) o4.creations[0].add_ingredient(sys.inventory.ingredients[2], 1) o4.creations[0].add_ingredient(sys.inventory.ingredients[3], 1) return sys
def test_setup(): burger = Burger() assert len(burger.ingredients) == 0 wrap = Wrap() assert len(wrap.ingredients) == 0
def test_wrap_with_ingredient(self): wrap = Wrap() wrap.add_ingredient(Ingredient("Cheese", 1, 10), 3) assert wrap.cost() == 4
def test_empty_wrap(self): wrap = Wrap() assert wrap.cost() == 1
def setup_method(self): self.burger = Burger() self.wrap = Wrap() self.ing_w_limit = Ingredient("Patty", 5, 10, 2) self.ing_wout_limit = Ingredient("Cheese", 5, 10)
def create_creation(self): creation = Burger() if self.type == "Burger" else Wrap() for k, v in self.ingredients.items(): ing = self.inv.get_ing(k) creation.add_ingredient(ing, int(v)) return creation