From 744033b2118df4f8d064b405df4e6c06bf2f2afe Mon Sep 17 00:00:00 2001 From: Adrian Musat Date: Mon, 20 Jul 2020 12:55:09 +0300 Subject: [PATCH 1/3] Unit_Tests_Homework --- .../Services/CoffeeServiceTests.cs | 47 ++++++++++++++++++- .../Services/coffeeService.cs | 6 +++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/coffeeService.cs diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs index 19c9a00..4c72dd5 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs @@ -3,6 +3,7 @@ using NUnit.Framework; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Linq; namespace CoffeeMachineSimulator.Tests.Services @@ -11,6 +12,9 @@ namespace CoffeeMachineSimulator.Tests.Services public class CoffeeServiceTests { private CoffeeService coffeeService; + private IEnumerable coffeeModels; + private object coffeeId; + private object coffee; [SetUp] public void SetUp() @@ -33,11 +37,52 @@ public void GetCoffees_Returns_ListOfCoffeeModels() public void AddNullCoffee_Throws_NewException() { var ex = Assert.Throws(() => coffeeService.AddCoffee(null)); - + Assert.AreEqual(ex.Message, "You should not add null entries!"); } //TODO: Add Unit test for Remaining add cases + [Test] + public void AddCoffeWithoutPrice_WillNotAddCoffe() + { + var initial_Length_List = coffeeService.GetCoffees().Count; + var AddDetailsCoffe = new CoffeeModel(); + AddDetailsCoffe.Id = Guid.NewGuid(); + AddDetailsCoffe.Name = "Your coffe name"; + coffeeService.AddCoffee(AddDetailsCoffe); + Assert.AreEqual(initial_Length_List, coffeeService.GetCoffees().Count); + + } + [Test] + public void AddCoffeWithoutName_WillNotAddCoffe() + { + var initial_Length_List = coffeeService.GetCoffees().Count; + var AddDetailsCoffe = new CoffeeModel(); + AddDetailsCoffe.Id = Guid.NewGuid(); + AddDetailsCoffe.Price = 22.20f; + coffeeService.AddCoffee(AddDetailsCoffe); + Assert.AreEqual(initial_Length_List, coffeeService.GetCoffees().Count); + + } + [Test] + public void AddCoffeWithoutId_WillNotAddCoffe() + { + var initial_Length_List = coffeeService.GetCoffees().Count; + var AddDetailsCoffe = new CoffeeModel(); + AddDetailsCoffe.Name = "Your coffe name"; + AddDetailsCoffe.Price = 22.20f; + coffeeService.AddCoffee(AddDetailsCoffe); + Assert.AreEqual(initial_Length_List, coffeeService.GetCoffees().Count); + + } //Todo: Add Unit test for deleting case + [Test] + public void deleteCoffeWithEmptyId() + { + var DeleteYourCoffe = new CoffeeModel(); + var ex = Assert.Throws(() => coffeeService.DeleteCoffee(DeleteYourCoffe.Id)); + Assert.AreEqual(ex.Message, "The Id is empty!"); + } + } } 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 From 2a7455a74031c89251056415643c51c1668427d5 Mon Sep 17 00:00:00 2001 From: Adrian Musat Date: Mon, 20 Jul 2020 14:39:44 +0300 Subject: [PATCH 2/3] UnitTestsHomework_Refactoring --- .../Services/CoffeeServiceTests.cs | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs index 4c72dd5..e3d98a5 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs @@ -3,7 +3,6 @@ using NUnit.Framework; using System; using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; using System.Linq; namespace CoffeeMachineSimulator.Tests.Services @@ -12,9 +11,6 @@ namespace CoffeeMachineSimulator.Tests.Services public class CoffeeServiceTests { private CoffeeService coffeeService; - private IEnumerable coffeeModels; - private object coffeeId; - private object coffee; [SetUp] public void SetUp() @@ -45,42 +41,47 @@ public void AddNullCoffee_Throws_NewException() [Test] public void AddCoffeWithoutPrice_WillNotAddCoffe() { - var initial_Length_List = coffeeService.GetCoffees().Count; + var initialCoffeeLength = coffeeService.GetCoffees().Count; var AddDetailsCoffe = new CoffeeModel(); AddDetailsCoffe.Id = Guid.NewGuid(); AddDetailsCoffe.Name = "Your coffe name"; + coffeeService.AddCoffee(AddDetailsCoffe); - Assert.AreEqual(initial_Length_List, coffeeService.GetCoffees().Count); + Assert.AreEqual(initialCoffeeLength, coffeeService.GetCoffees().Count); } [Test] public void AddCoffeWithoutName_WillNotAddCoffe() { - var initial_Length_List = coffeeService.GetCoffees().Count; + var initialCoffeeLength = coffeeService.GetCoffees().Count; var AddDetailsCoffe = new CoffeeModel(); AddDetailsCoffe.Id = Guid.NewGuid(); AddDetailsCoffe.Price = 22.20f; + coffeeService.AddCoffee(AddDetailsCoffe); - Assert.AreEqual(initial_Length_List, coffeeService.GetCoffees().Count); + Assert.AreEqual(initialCoffeeLength, coffeeService.GetCoffees().Count); } [Test] public void AddCoffeWithoutId_WillNotAddCoffe() { - var initial_Length_List = coffeeService.GetCoffees().Count; + var initialCoffeeLength = coffeeService.GetCoffees().Count; var AddDetailsCoffe = new CoffeeModel(); AddDetailsCoffe.Name = "Your coffe name"; AddDetailsCoffe.Price = 22.20f; + coffeeService.AddCoffee(AddDetailsCoffe); - Assert.AreEqual(initial_Length_List, coffeeService.GetCoffees().Count); + Assert.AreEqual(initialCoffeeLength, coffeeService.GetCoffees().Count); } //Todo: Add Unit test for deleting case [Test] public void deleteCoffeWithEmptyId() { var DeleteYourCoffe = new CoffeeModel(); + var ex = Assert.Throws(() => coffeeService.DeleteCoffee(DeleteYourCoffe.Id)); + Assert.AreEqual(ex.Message, "The Id is empty!"); } From 240bdd12da72893a87ea228ab7fdda160789182b Mon Sep 17 00:00:00 2001 From: Adrian Musat Date: Wed, 22 Jul 2020 02:30:21 +0300 Subject: [PATCH 3/3] HomeWork_2 --- .../Interfaces/IEspressoMachineService.cs | 2 +- .../Services/EspressoMachineService.cs | 16 ++++++++++++---- .../Services/EspressoMachineServiceTests.cs | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) 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); + } } }