Пример #1
0
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)
Пример #2
0
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
Пример #3
0
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'
Пример #4
0
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'
Пример #5
0
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'
Пример #6
0
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)
Пример #7
0
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
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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
Пример #11
0
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)
Пример #12
0
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)