Example #1
0
        public bool OrderCondiment(CondimentType condimentType, int quantity)
        {
            if (_currentCup == null)
            {
                return(false);
            }

            ICondimentService service = _condimentServiceFactory.Create(condimentType);

            if (!service.IsCondimentValid(quantity))
            {
                return(false);
            }

            if (_currentCup.Condiments.ContainsKey(condimentType))
            {
                _currentCup.Condiments.Remove(condimentType);
            }

            var condiment = service.OrderCondiment(quantity);

            _currentCup.Condiments.Add(condimentType, condiment);

            return(true);
        }
Example #2
0
        public void OrderCondiment_ReturnsCream(int cream)
        {
            decimal creamPrice = 1.5m;

            _appSettingsMock.SetupGet(s => s.CreamPrice).Returns(creamPrice);

            var result = _service.OrderCondiment(cream);

            Assert.That(result.CondimentType, Is.EqualTo(CondimentType.Cream));
            Assert.That(result.Quantity, Is.EqualTo(cream));
            Assert.That(result.Price, Is.EqualTo(cream * creamPrice));
        }
Example #3
0
        public void OrderCondiment_ReturnsSugar(int sugar)
        {
            decimal sugarPrice = 2.5m;

            _appSettingsMock.SetupGet(s => s.SugarPrice).Returns(sugarPrice);

            var result = _service.OrderCondiment(sugar);

            Assert.That(result.CondimentType, Is.EqualTo(CondimentType.Sugar));
            Assert.That(result.Quantity, Is.EqualTo(sugar));
            Assert.That(result.Price, Is.EqualTo(sugar * sugarPrice));
        }