public void Can_CalculatorA_GetSumWithDiscount()
        {
            Mock <IDiscount> mock = new Mock <IDiscount>();

            mock.Setup(x => x.ApplyDiscount(It.IsAny <decimal>())).Returns <decimal>(x => x * 0.9m);

            CalculatorA calc = new CalculatorA(mock.Object)
            {
                Products = list
            };

            decimal res = calc.GetSumWithDiscount();

            Assert.AreEqual(90, res);
        }
        public void Calculate_SingleStepRecipe_CorrectPartsList()
        {
            var context = new TestGameContext
            {
                Player  = new Player(),
                Recipes = new RecipeStore(new[] { TestRecipes.IronBar })
            };

            var calculator = new CalculatorA(context);
            var parts      = calculator.Calculate("Iron Bar");


            var ironOre = Assert.Single(parts);

            Assert.Equal("Iron Ore", ironOre.Name);
            Assert.Equal(10, ironOre.Amount);
        }