def test_check_burger_invalid(): main = Main('burger') bun = QuantityIngredient(1, 'bun','m', 10, 1.5) main.addIngredient(bun, 1, None) with pytest.raises(UserError) as err: main.checkBurger() assert "You must finish your burger before moving on. It needs at least 2 buns to be finished." in str(err.value)
def test_addIngredient_weightIngredient_to_burger(): main = Main('wrap') lettuce = WeightIngredient(1, 'lettuce', 'm', 2000, 50, 100, 150, .50, 1, 1.5) main.addIngredient(lettuce, 1, 's') assert main.ingredients[0][0] == lettuce assert main.ingredients[0][1] == 1 assert main.ingredients[0][2] == 's' assert main.price == 4
def test_add_patty_to_burger_within_range(): main=Main('burger') patty=QuantityIngredient(1, 'patty', 'm', 25, 5) main.addIngredient(patty, 3, None) assert main.ingredients[0][0] == patty assert main.ingredients[0][1] == 3 assert main.price == 18 assert main.nBun == 0 assert main.nPatty == 3 assert main.type == 'burger'
def test_add_bun_to_burger_within_range(): main = Main('burger') bun = QuantityIngredient(1, 'bun', 'm', 10, 1.5) main.addIngredient(bun, 3, None) assert main.ingredients[0][0] == bun assert main.ingredients[0][1] == 3 assert main.price == 7.5 assert main.nBun == 3 assert main.nPatty == 0 assert main.type == 'burger'
def test_addIngredient_tomato_to_burger_enough_stock(): main = Main('burger') tomato = QuantityIngredient(1, 'tomato', 'm', 20, 1) main.addIngredient(tomato, 5, None) assert main.ingredients[0][0] == tomato assert main.ingredients[0][1] == 5 assert main.price == 8 assert main.nBun == 0 assert main.nPatty == 0 assert main.type == 'burger'
def test_remIngredient_incorrect_input(): sys = System() sys.addQuantityIngredient('beef patty', 'm', 50, 1.50) sys.addQuantityIngredient('cheese', 'm', 50, 1.00) sys.addQuantityIngredient('egg', 'm', 50, 1.50) ing1 = sys.ingredients[0] ing2 = sys.ingredients[1] ing3 = sys.ingredients[2] wrap = Main('wrap') wrap.addIngredient(ing1, 2, None) wrap.addIngredient(ing2, 2, None) with pytest.raises(UserError) as error: wrap.remIngredient(ing3, 1, None) assert "You don't have any egg in your order to remove." in str(error.value)
def test_remIngredient_correct_input(): sys = System() sys.addQuantityIngredient('beef patty', 'm', 50, 1.50) sys.addQuantityIngredient('cheese', 'm', 50, 1.00) sys.addQuantityIngredient('egg', 'm', 50, 1.50) ing1 = sys.ingredients[0] ing2 = sys.ingredients[1] ing3 = sys.ingredients[2] wrap = Main('wrap') wrap.addIngredient(ing1, 2, None) wrap.addIngredient(ing2, 2, None) wrap.addIngredient(ing3, 1, None) wrap.remIngredient(ing3, 1, None) assert len(wrap.ingredients) == 2 assert sys.ingredients[2].stock == 50
def test_add_bun_to_burger_too_many_buns(): main = Main('burger') bun = QuantityIngredient(1, 'bun', 'm', 10, 1.5) with pytest.raises(UserError) as error: main.addIngredient(bun, 4, None) assert "You can't add more than 3 buns to your order" in str(error.value)
def test_addIngredient_tomato_to_burger_not_enough_stock(): main = Main('burger') tomato = QuantityIngredient(1, 'tomato', 'm', 4, 0.2) with pytest.raises(StockError) as error: main.addIngredient(tomato, 5, None) assert "Not enough tomato in stock: 4 left." in str(error.value)
def test_check_burger_valid(): main = Main('burger') bun = QuantityIngredient(1, 'bun','m', 10, 1.5) main.addIngredient(bun, 2, None) assert main.checkBurger() == True
def test_addIngredient_add_bun_to_wrap(): main = Main('wrap') bun = QuantityIngredient(0, 'bun', 'm', 20, .50) with pytest.raises(UserError) as error: main.addIngredient(bun, 2, None) assert "You can't add a bun to a wrap" in str(error.value)
def test_add_Patty_to_Burger_too_many_patties(): main=Main('burger') patty=QuantityIngredient(1, 'patty', 'm', 25, 5) with pytest.raises(UserError) as error: main.addIngredient(patty, 5, None) assert "You can't add more than 4 patties to your order" in str(error.value)