diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Interfaces/IEspressoMachineService.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Interfaces/IEspressoMachineService.cs index 5bf8bd5..b21fced 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Interfaces/IEspressoMachineService.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Interfaces/IEspressoMachineService.cs @@ -7,7 +7,7 @@ namespace CoffeeMachineSimulator.Services.Interfaces public interface IEspressoMachineService { CoffeeModel GiveMeACoffee(SweetnessEnum sweetness); - float GetSumOfAllCoffees(); + float GetSumOfAllCoffeesPrice(); List MakeAllCoffeesWithSweetness(SweetnessEnum sweetness); } } diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/EspressoMachineService.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/EspressoMachineService.cs index 86cc8cd..5f8eb1d 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/EspressoMachineService.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/EspressoMachineService.cs @@ -15,9 +15,12 @@ public EspressoMachineService(ICoffeeService coffeeService) this.coffeeService = coffeeService; } - public float GetSumOfAllCoffees() + public float GetSumOfAllCoffeesPrice() { - throw new System.NotImplementedException(); + var allCoffeesFromList = coffeeService.GetCoffees(); + + float sumOfAllPrices = allCoffeesFromList.Sum(coffees => coffees.Price); + return sumOfAllPrices; } public CoffeeModel GiveMeACoffee(SweetnessEnum sweetness) @@ -26,13 +29,18 @@ public CoffeeModel GiveMeACoffee(SweetnessEnum sweetness) var myCoffeeToReturn = listOfCoffees.FirstOrDefault(x=>x.Sweetness == sweetness); myCoffeeToReturn.Name = "TestMyCoffee"; - return myCoffeeToReturn; } public List MakeAllCoffeesWithSweetness(SweetnessEnum sweetness) { - throw new System.NotImplementedException(); + var allCoffeesFromList = coffeeService.GetCoffees(); + + foreach(CoffeeModel coffees in allCoffeesFromList) + { + coffees.Sweetness = sweetness; + } + return allCoffeesFromList; } } } diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/EspressoMachineServiceTests.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/EspressoMachineServiceTests.cs index 229fead..fbe18cf 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/EspressoMachineServiceTests.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/EspressoMachineServiceTests.cs @@ -42,5 +42,23 @@ private List GetMockedCoffeeModels() .Build() .ToList(); } + [Test] + public void GetSumOfAllCoffeesPrice_ReturnsAllCoffeesPrice() + { + mockedCoffeeService.Setup(x => x.GetCoffees()).Returns(GetMockedCoffeeModels()); + var serviceCoffees = new EspressoMachineService(mockedCoffeeService.Object); + + Assert.IsNotNull(serviceCoffees.GetSumOfAllCoffeesPrice()); + } + + [Test] + public void MakeAllCoffeesWithSweetness_ReturnsAllCoffeeWithSueetness() + { + mockedCoffeeService.Setup(x => x.GetCoffees()).Returns(GetMockedCoffeeModels()); + var serviceCoffees = new EspressoMachineService(mockedCoffeeService.Object); + var coffeesSweetness = serviceCoffees.MakeAllCoffeesWithSweetness(SweetnessEnum.LessSweet); + + Assert.IsNotNull(coffeesSweetness); + } } } diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/coffeeService.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/coffeeService.cs new file mode 100644 index 0000000..9f448a4 --- /dev/null +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/coffeeService.cs @@ -0,0 +1,6 @@ +namespace CoffeeMachineSimulator.Tests.Services +{ + internal class coffeeService + { + } +} \ No newline at end of file