Пример #1
0
 def setUp(self):
     self.drink_1 = Drink("old fashioned", 5.00, 40)
     self.drink_2 = Drink("hophouse 13", 4.50, 5)
     self.customer_1 = Customer("Fred", 50, 40)
     self.customer_2 = Customer("Jon", 20, 13)
     self.pub = Pub("The Prancing Pony", 100.00,
                    [self.drink_1, self.drink_2])
Пример #2
0
    def setUp(self):

        drink_1 = Drink("beer", 5.00, 2, 120)
        drink_2 = Drink("vodka", 3.00, 3, 30)
        drink_3 = Drink("cocktail", 7.00, 8, 25)
        list_of_drinks = [drink_1, drink_2, drink_3]
        self.pub = Pub("The Prancing Pony", 100.00, list_of_drinks)
Пример #3
0
def test_order_drink_can_invalid(os):
    # ===== ORDERS DRINKS UNTIL NEXT ORDER WILL BE INVALID =====
    x = 1
    pepsi_q = drink_quantity("pepsi", "can")
    end = pepsi_q
    while x <= pepsi_q:
        orderx = Order()
        orderx.add_drink(Drink("pepsi", "can", 1))
        assert orderx.calculate_price() == 2
        assert os.add_order(orderx) == True
        assert drink_quantity("pepsi", "can") == pepsi_q - x
        x += 1

    assert len(os._orders) == end
    # ===== MAKES A NEW ORDER =====
    invalid_order = Order()
    invalid_order.add_drink(Drink("pepsi", "can", 1))
    assert invalid_order.calculate_price() == 2

    # ===== MAKES SURE THE ERROR IS CATCHED AND THE CORRECT MESSAGE IS DISPLAYED=====
    try:
        os.add_order(invalid_order)
        assert False
    except Exception as err:
        assert str(err) == "Not enough ingredients available."
        assert True

    # ASSERT THAT LENGTH IS SAME AS BEFORE SHOWING THAT ORDER WASN'T ADDED
    assert len(os._orders) == end
Пример #4
0
def test_order_drink_bottle_invalid(os):
    # ===== ORDERS DRINKS UNTIL NEXT ORDER WILL BE INVALID =====
    x = 1
    sprite_q = drink_quantity("sprite", "bottle")
    end = sprite_q
    while x <= sprite_q:
        orderx = Order()
        orderx.add_drink(Drink("sprite", "bottle", 1))
        assert orderx.calculate_price() == 3
        assert os.add_order(orderx) == True
        assert drink_quantity("sprite", "bottle") == sprite_q - x
        x += 1

    assert len(os._orders) == end
    # ===== MAKES A NEW ORDER =====
    invalid_order = Order()
    invalid_order.add_drink(Drink("sprite", "bottle", 1))
    assert invalid_order.calculate_price() == 3

    # ===== MAKES SURE THE ERROR IS CATCHED AND THE CORRECT MESSAGE IS DISPLAYED=====
    try:
        os.add_order(invalid_order)
        assert False
    except Exception as err:
        assert str(err) == "Not enough ingredients available."
        assert True

    # ASSERT LENGTH IS THE SAME
    assert len(os._orders) == end
Пример #5
0
def test_order_drinks_invalid(os):
    # ===== ORDERS DRINKS UNTIL NEXT ORDER WILL BE INVALID =====
    orange_q = drink_quantity("orange juice", "")
    end = orange_q / 640

    x = 1
    while x < orange_q - 640:
        orderx = Order()
        orderx.add_drink(Drink("orange juice", "large", 640))
        assert orderx.calculate_price() == 2.95
        assert os.add_order(orderx) == True
        x += 640

    assert len(os._orders) == int(end)

    # ===== MAKES A NEW ORDER =====
    invalid_order = Order()
    invalid_order.add_drink(Drink("orange juice", "large", 640))
    assert invalid_order.calculate_price() == 2.95
    # ===== MAKES SURE THE ERROR IS CATCHED AND THE CORRECT MESSAGE IS DISPLAYED=====
    try:
        os.add_order(invalid_order)
        assert False
    except Exception as err:
        assert str(err) == "Not enough ingredients available."
        assert True

    # ASSERT LENGTH OF ORDERS IS THE SAME - NO ORDER WAS ADDED
    assert len(os._orders) == int(end)
Пример #6
0
def test_order_drinks(os):
    # ===== ORDERING SMALL OJ =====
    order1 = Order()
    ojQ = drink_quantity("orange juice", "")
    order1.add_drink(Drink("orange juice", "small", 250))

    assert order1.calculate_price() == 2
    assert os.add_order(order1) == True
    assert drink_quantity("orange juice", "") == ojQ - 250

    # ===== ORDERING MEDIUM OJ =====
    order2 = Order()
    ojQ = drink_quantity("orange juice", "")
    order2.add_drink(Drink("orange juice", "medium", 500))

    assert order2.calculate_price() == 2.50
    assert os.add_order(order2) == True
    assert drink_quantity("orange juice", "") == ojQ - 500

    # ===== ORDERING LARGE OJ =====
    order3 = Order()
    ojQ = drink_quantity("orange juice", "")
    order3.add_drink(Drink("orange juice", "large", 650))

    assert order3.calculate_price() == 2.95
    assert os.add_order(order3) == True
    assert drink_quantity("orange juice", "") == ojQ - 650

    # ===== 3 ORDERS WERE MADE =====
    assert len(os._orders) == 3
Пример #7
0
 def setUp(self):
     self.pub = Pub("The Prancing Pony", 100)
     self.customer_1 = Customer("Ben", 10, 18, 0)
     self.customer_2 = Customer("Adam", 1, 12, 0)
     self.drink_1 = Drink("Tennents", 2, 1)
     self.drink_2 = Drink("wine", 4, 2)
     self.drink_3 = Drink("gin", 5, 3)
Пример #8
0
 def setUp(self):
     self.bar = Bar()
     self.song = Song("Thunderstruck", "AC/DC", 292, 1990, "Rock")
     self.patron = Guest("Allen", 25, self.song)
     self.lager = Drink("Jimmy's Lager", 1.50, 20)
     self.wine = Drink("Red wine", 3.50, 25)
     self.bar.stock_bar(self.lager, 10)
Пример #9
0
    def setUp(self):
        self.pub = Pub("Duke's Corner", 100.00)
        self.drink_1 = Drink("Tennents", 3.40, 3.5)
        self.drink_2 = Drink("Wine", 7.50, 12)
        self.customer_1 = Customer("Harrison", 22, 10.00)

        self.pub.add_drink_to_pub(self.drink_1)
        self.pub.add_drink_to_pub(self.drink_2)
Пример #10
0
 def setUp(self):
     # this sets up the list with two list items
     self.drink_1 = Drink("Brew Dog", 5)
     self.drink_2 = Drink("Dolce Banana", 15)
     # this says that the two items go in the list
     drinks = [self.drink_1, self.drink_2]
     # this gives values to the parameters to Class pub
     self.pub = Pub("The Prancing Pony", 100.00, drinks)
Пример #11
0
 def setUp(self):
     self.pub = Pub("The Lion", 1000)
     self.drink_1 = Drink("Martini", 5, 4)
     self.drink_2 = Drink("Rusty Nail", 6, 10)
     self.drink_3 = Drink("Pinot Grigio", 7, 8)
     self.drinks = [self.drink_1, self.drink_2, self.drink_3]
     self.customer_1 = Customer("Brian", 300, 28)
     self.customer_2 = Customer("Tim", 5, 12)
Пример #12
0
 def test_customer_can_buy_drink(self):
     drink_2 = Drink("vodka", 3.00, 1, 1)
     drink_3 = Drink("cocktail", 7.00, 3, 1)
     list_of_drinks = [self.drink_1, drink_2, drink_3]
     pub = Pub("The Prancing Pony", 100.00, list_of_drinks)
     self.customer_1.customer_can_buy_drink(self.drink_1, pub)
     self.assertEqual(95.00, self.customer_1.wallet)
     self.assertEqual(105.00, pub.till)
Пример #13
0
 def setUp(self):
     self.drink_1 = Drink("Guinness", 10, 2)
     self.drink_2 = Drink("Gin", 15, 4)
     self.drink_3 = Drink("Whisky", 20, 6)
     self.BrewDog = Pub("Brewdog_edinburgh", 100,
                        [self.drink_1, self.drink_2, self.drink_3])
     self.customer = Customer("Billy", 200, 45)
     self.customer_2 = Customer("Jane", 5, 30)
     self.customer_3 = Customer("Gerorge", 50, 16)
Пример #14
0
    def setUp(self):
        self.drink_1 = Drink("Mojito", 8.0, 7)
        self.drink_2 = Drink("Pilsen", 6.5, 4)

        self.customer_1 = Customer("Malcolm", 25.0, 28)
        self.customer_2 = Customer("Erika", 30.0, 17)

        drinks = [self.drink_2, self.drink_1]
        self.pub = Pub("JP's", drinks, 500)
Пример #15
0
def test_manual_price_update():
    drink = Drink(['coke', 'medium'])
    rand1 = random.randint(1, 100)
    price1 = drink.manual_price_update(rand1)
    assert price1 == rand1

    rand2 = random.randint(1, 100)
    price2 = drink.manual_price_update(rand2)
    assert price2 == rand2
Пример #16
0
    def setUp(self):
        self.drink_1=Drink("beer", 3.00, 1, 10)
        self.drink_2=Drink("red wine", 2.00, 2, 8)
        self.drinks=[self.drink_1, self.drink_2]

        self.pub = Pub("The Prancing Pony", 100.00, self.drinks)
        self.customer_1 = Customer("Callum", 10.00, 24, 6)
        self.customer_2 = Customer("John", 5.00, 16, 0)
        self.customer_3 = Customer("James", 15.00, 30, 3)
Пример #17
0
 def setUp(self):
     self.pub = Pub("The Prancing Pony", 100.00)
     self.stock = {"beer": 5, "wine": 7, "absinthe": 2}
     self.drink_1 = Drink("wine", 8, 0.12)
     self.drink_2 = Drink("absinthe", 8, 0.8)
     self.food_1 = Food("pizza", 6, 0.4)
     self.customer_1 = Customer("Craig", 20, 18)
     self.customer_2 = Customer("Jack", 20, 18)
     self.customer_3 = Customer("Jack", 20, 17)
Пример #18
0
 def setUp(self):
     self.pub = Pub("The Prancing Pony", 100.00)
     self.customer_1 = Customer("Mark", 10.00, 33, 0)
     self.customer_2 = Customer("Andrew", 20.00, 17, 10)
     self.customer_3 = Customer("Steven", 0.00, 37, 20)
     self.drink_1 = Drink("Whisky", 5, 5, 10)
     self.drink_2 = Drink("Punk IPA", 4.50, 1, 10)
     self.food_1 = Food("Pie", 2.75, 5, 10)
     self.food_2 = Food("Crisps", 0.99, 1, 0)
Пример #19
0
 def setUp(self):
     self.pub = Pub("Ox", 100)
     self.customer = Customer("Jenny", 100)
     self.drink_beer = Drink("Beer", 3)
     self.drink_wine = Drink("Wine", 4)
     self.drink_cider = Drink("Cider", 3)
     self.pub.stock_drink = [
         self.drink_beer, self.drink_wine, self.drink_cider
     ]
Пример #20
0
    def setUp(self):
        self.customer1 = Customer("Keith", 2000)
        self.customer2 = Customer("John", 2000)

        self.drink1 = Drink("Guinness", 550)
        self.drink2 = Drink("G+T", 400)
        drinks = [self.drink1, self.drink2]

        self.pub = Pub("Red_Lion", 10000, drinks)
Пример #21
0
    def setUp(self):
        self.customer = Customer("Malcolm", 25.0, 28)
        self.drink_1 = Drink("Mojito", 8.0, 7)
        self.drink_2 = Drink("Pilsen", 6.5, 4)
        self.food_1 = Food("Chips", 10.0, 5)
        self.food_2 = Food("Chicken Nuggets", 12.5, 8)

        drinks = [self.drink_2, self.drink_1]
        self.pub = Pub("JP's", drinks, 500)
Пример #22
0
    def setUp(self):
        self.drink_1 = Drink("beer", 2.00, 5)
        self.drink_2 = Drink("wine", 3.00, 10)
        self.drink_3 = Drink("gin", 4.00, 30)

        self.pub = Pub("The Prancing Pony", 100.00)

        self.customer_1 = Customer("Frodo", 10.00, 28, 0)
        self.customer_2 = Customer("Merry", 15.00, 17, 0)
        self.customer_3 = Customer("Pippin", 100.00, 28, 0)
Пример #23
0
    def setUp(self):
        self.customer1 = Customer('David', 1000, 40)
        self.customer2 = Customer('Lucy', 1500, 25)

        drink1 = Drink("Guinness", 650)
        drink2 = Drink("Lager", 350)
        drink3 = Drink("Wine", 250)

        self.drinks = [drink1, drink2, drink3]
        self.pub = Pub('Green Goblin', self.drinks, 3000)
Пример #24
0
def test_make_full_order(os):
    # ===== MAKE A LIST OF INGREDIENTS AND MAKE A MAIN =====
    w_ingres = []
    x1 = Ingredient("plain", "wrap", "plain wrap", 1, 2)

    x2 = Ingredient("lettuce", "vegetable", "lettuce", 2, 0.5)

    x3 = Ingredient("tomato", "vegetable", "tomato", 2, 1)

    x4 = Ingredient("cheddar", "cheese", "cheddar cheese", 4, 1)

    for x in [x1, x2, x3, x4]:
        w_ingres.append(x)

    m1 = Main("wrap", w_ingres)

    # ===== STORE INVENTORY LEVELS =====
    wrapQ = ing_quantity("plain", "wrap")
    letQ = ing_quantity("lettuce", "vegetable")
    tomQ = ing_quantity("tomato", "vegetable")
    cheQ = ing_quantity("cheddar", "cheese")
    ojQ = drink_quantity("orange juice", "")
    pepsi_q = drink_quantity("pepsi", "can")
    nuggetQ = side_quantity(Nuggets(6))
    friesQ = side_quantity(Fries(""))

    # ===== ADD MAIN, DRINK AND SIDES TO ORDER =====
    order1 = Order()
    order1.add_main(m1)
    order1.add_drink(Drink("orange juice", "small", 250))
    order1.add_drink(Drink("pepsi", "can", 2))
    order1.add_side(Fries("large"))
    order1.add_side(Nuggets(6))

    # ===== ADD ORDER TO ORDERING SYSTEM =====
    assert os.add_order(order1) == True
    # ===== ASSERT ORDER WAS LOGGED =====
    assert len(os._orders) == 1
    # ===== CHECK PRICE =====
    assert order1.calculate_price() == 21
    # ===== MAKE SURE CORRECT NUMBER OF ITEMS HAVE BEEN PUT INTO THE ORDER =====
    assert len(order1.mains) == 1
    assert len(order1.sides) == 2
    assert len(order1.drinks) == 2
    assert len(order1.mains[0]._ingredients) == 4

    # ===== MAKE SURE INVENTORY LEVELS WERE UPDATED CORRECTLY =====
    assert ing_quantity("plain", "wrap") == wrapQ - 1
    assert ing_quantity("lettuce", "vegetable") == letQ - 2
    assert ing_quantity("tomato", "vegetable") == tomQ - 2
    assert ing_quantity("cheddar", "cheese") == cheQ - 4
    assert side_quantity(Nuggets(6)) == nuggetQ - 6
    assert side_quantity(Fries("")) == friesQ - 640
    assert drink_quantity("orange juice", "") == ojQ - 250
    assert drink_quantity("pepsi", "can") == pepsi_q - 2
Пример #25
0
    def setUp(self):
        self.pub = Pub("Ox", 100.00)
        self.drink = Drink("Highland Park 18yr", 6.95, 8)
        self.drink2 = Drink("Rum", 5.50, 4)
        self.drink3 = Drink("Beer", 3.20, 2)

        self.food = Food("Chips and gravy", 3.50, 100)
        
        self.customer1 = Customer("Malcolm", 33, 25.00)
        self.customer2 = Customer("Harrison", 15, 30.00)
        self.customer3 = Customer("Dave", 21, 50.00)
Пример #26
0
    def setUp(self):
        stock = {
            "drinks": [Drink("cosmo", 4.00, 3),
                       Drink("beer", 2.50, 2)],
            "food": [Food("burger", 2.00, 10),
                     Food("hotdog", 2.00, 5)]
        }

        self.pub = Pub("The Prancing Pony", 100.00, stock)
        self.customer = Customer("Bob", 50.00, 30)
        self.drink = self.pub.stock["drinks"][0]
        self.young_customer = Customer("Betty", 20.00, 16)
        self.food = self.pub.stock["food"][1]
Пример #27
0
    def setUp(self):

        self.customer1 = Customer('Duncan', 2000, 12)
        self.customer2 = Customer('Lucinda', 1000, 21)
        self.customer3 = Customer('Dana', 5000, 18)

        drink1 = Drink("Guinness", 550)
        drink2 = Drink("Lager", 250)
        drink3 = Drink("Wine", 150)

        self.drinks = [drink1, drink2, drink3]

        self.pub = Pub("Alpaca Inn", self.drinks, 2000)
Пример #28
0
    def setUp(self):
        self.drink = Drink("Budweiser", 3.75, 4)
        self.drink2 = Drink("White Wine", 4.50, 12)
        self.drink3 = Drink("Red Wine", 4.50, 11)
        self.drink4 = Drink("Coke", 2.50, 0)
        self.pub = Pub("The Prancing Pony", 100.00, {
            self.drink: 5,
            self.drink2: 10,
            self.drink3: 15,
            self.drink4: 20})

        self.customer = Customer("Joe Bloggs", 34, 10.00, 0)
        self.customer_2 = Customer("Bob Smith", 17, 5.00, 0)
        self.customer_3 = Customer("Bob Dylan", 55, 30.00, 15)
Пример #29
0
    def setUp(self):
        self.drink_1 = Drink("Super T", 3)
        self.drink_2 = Drink("Buckfast", 5)
        self.drink_3 = Drink("Mysterious Cocktail", 4)
        self.drink_4 = Drink("House wine", 7)

        drinks = [
            self.drink_1,
            self.drink_2,
            self.drink_3,
            self.drink_4,
        ]

        self.pub = Pub("One way Tolbooth", 500, drinks)
        self.customer = Customer("Andrew Carnegie", 30, 185)
Пример #30
0
def bootstrap_system():
    system = OrderingSystem()

    order1 = Order()

    custom_ingredients = deepcopy(g_ingredients)

    custom_ingredients = [x for x in custom_ingredients if x.i_type != "wrap"]
    for i in custom_ingredients:
        i.amount = 1

    main1 = Main("burger", custom_ingredients)
    order1.add_main(main1)

    nuggets1 = Nuggets(6)
    order1.add_side(nuggets1)

    fries1 = Fries("large")
    order1.add_side(fries1)

    drink1 = Drink("pepsi", "can", 2)
    order1.add_drink(drink1)

    system.add_order(order1)

    order2 = Order()
    order2.add_main(main1)
    order2.add_side(nuggets1)
    order2.add_side(fries1)
    order2.add_drink(drink1)

    system.add_order(order2)

    return system