containers = {
        coffee_container: coffee_container.how_many_ingredient_in_container(),
        water_container: water_container.how_many_ingredient_in_container(),
        milk_container: milk_container.how_many_ingredient_in_container(),
        grounds_container:
        grounds_container.how_many_ingredient_in_container()
    }

    for container in containers:
        container.print_container_state_progres_bar(
            ingredient_available=containers[container])
        print("")
        time.sleep(1)

    user_input = UserInput()
    drink_type = user_input.get_coffee_type()
    coffee_strength = user_input.get_coffee_strength()

    pb1 = ProgressBar(total=100,
                      prefix="Containers preparing",
                      suffix="Complete",
                      decimals=0,
                      length=50,
                      zfill='-')
    sleep_time = 0.7

    coffee_container.take_needed_ingredient_amount(needed_ingredient_amount=3)
    pb1.print_progress_bar(20)
    time.sleep(sleep_time)

    water_container.take_needed_ingredient_amount(needed_ingredient_amount=100,
 def test_get_coffe_type_1(self):
     userInput = UserInput()
     with patch("builtins.input", return_value=1):
         assert userInput.get_coffee_type() == "espresso"
 def test_get_coffee_type_3(self):
     userInput = UserInput()
     with patch("builtins.input", return_value=3):
         assert userInput.get_coffee_type() == "latte macchiato"
 def test_get_coffe_type_5(self):
     userInput = UserInput()
     with patch("builtins.input", return_value="foo"):
         assert not userInput.get_coffee_type()
 def test_get_coffe_type_2(self):
     userInput = UserInput()
     with patch("builtins.input", return_value=2):
         assert userInput.get_coffee_type() == "capuccino"