Exemplo n.º 1
0
        public IDrink Do(Recipe recipe)
        {
            if (recipe == null)
            {
                throw new ArgumentNullException("Przepis jest nullem.");
            }

            foreach (ComponentDefinition compDefinition in recipe.RecipeComponents)
            {
                if (compDefinition.Component != null)
                {
                    if (compDefinition.Component.Grindable)
                    {
                        _devices.Grinder.Grind(compDefinition.Component);
                    }

                    if (compDefinition.Component.Type.Equals(ComponentType.LIQUID))
                    {
                        _devices.Heater.Heat(compDefinition.Component, compDefinition.Temperature);
                    }
                    _devices.Pump.Pumping(compDefinition.Component);
                }
            }

            IDrink currentDrink = new Drink();

            foreach (var item in _devices.Head)
            {
                currentDrink = new WithComponent(currentDrink, item);
            }
            return(currentDrink);
        }
Exemplo n.º 2
0
        public void Should_CreateNewObject_WithCorrectComponents()
        {
            IDrink currentDrink = new Drink();

            Assert.DoesNotThrow(() => currentDrink = new WithComponent(currentDrink, new Component("parowka", ComponentType.OTHER, false)));

            Assert.IsTrue(currentDrink.Components.Any());
        }
Exemplo n.º 3
0
        public void Should_ThrowArgumentNullException_WithNullComponents()
        {
            IDrink currentDrink = new Drink();

            Assert.Throws <ArgumentNullException>(() => currentDrink = new WithComponent(currentDrink, null));

            Assert.IsFalse(currentDrink.Components.Any());
        }