From 9dca420cf28197dd5820ddd0f5033be403dc073e Mon Sep 17 00:00:00 2001 From: cosminboc Date: Mon, 20 Jul 2020 14:06:23 +0300 Subject: [PATCH 1/3] Homework Add test Delete test --- .../Services/CoffeeService.cs | 11 +++-- .../Services/CoffeeServiceTests.cs | 44 ++++++++++++++++++- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs index dee8f3a..8e718b1 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs @@ -19,13 +19,18 @@ public CoffeeService() public void AddCoffee(CoffeeModel coffeeToAdd) { if (coffeeToAdd == null) throw new Exception("You should not add null entries!"); - - coffeeModels.Add(coffeeToAdd); + + if (coffeeModels.Any(i => i == coffeeToAdd)) throw new Exception("Already exists an entry with the same Id"); + if (!(coffeeToAdd.Id == Guid.Empty || coffeeToAdd.Name == null || coffeeToAdd.Price <= 0.0f || coffeeModels.Any(i => i.Name == coffeeToAdd.Name) || coffeeModels.Any(j => j.Id == coffeeToAdd.Id) || coffeeModels.Any(k => k.Price == coffeeToAdd.Price))) + + coffeeModels.Add(coffeeToAdd); } public void DeleteCoffee(Guid coffeeId) { - throw new NotImplementedException(); + if(coffeeId == Guid.Empty) throw new Exception("The Id given is empty"); + coffeeModels.Remove(coffeeModels.First(i => i.Id == coffeeId)); + } public List GetCoffees() diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs index 19c9a00..35f8d07 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs @@ -36,8 +36,50 @@ public void AddNullCoffee_Throws_NewException() Assert.AreEqual(ex.Message, "You should not add null entries!"); } - + + [Test] //TODO: Add Unit test for Remaining add cases + public void AddCoffeWithoutPrice_DoesNotAddCoffee() + { + var LengthList = coffeeService.GetCoffees().Count; + var AddCoffeeDetails = new CoffeeModel(); + AddCoffeeDetails.Id = Guid.NewGuid(); + AddCoffeeDetails.Name = "Your coffe name"; + coffeeService.AddCoffee(AddCoffeeDetails); + Assert.AreEqual(LengthList, coffeeService.GetCoffees().Count); + + } + [Test] + public void AddCoffeWithoutName_DoesNotAddCoffee() + { + var LengthList = coffeeService.GetCoffees().Count; + var AddCoffeeDetails = new CoffeeModel(); + AddCoffeeDetails.Id = Guid.NewGuid(); + AddCoffeeDetails.Price = 10.68f; + coffeeService.AddCoffee(AddCoffeeDetails); + Assert.AreEqual(LengthList, coffeeService.GetCoffees().Count); + + } + [Test] + public void AddCoffeWithoutId_DoesNotAddCoffee() + { + var LengthList = coffeeService.GetCoffees().Count; + var AddCoffeeDetails = new CoffeeModel(); + AddCoffeeDetails.Name = "Your coffe name"; + AddCoffeeDetails.Price = 22.20f; + coffeeService.AddCoffee(AddCoffeeDetails); + Assert.AreEqual(LengthList, coffeeService.GetCoffees().Count); + + } + + [Test] //Todo: Add Unit test for deleting case + public void DeletedCoffee() + { + var deletedcoffee = coffeeService.GetCoffees().First(); + + coffeeService.DeleteCoffee(deletedcoffee.Id); + Assert.IsTrue(deletedcoffee != coffeeService.GetCoffees().First()); + } } } From eb04b64dbd98873eb47a8d7481fc314ebe21290d Mon Sep 17 00:00:00 2001 From: cosminboc Date: Mon, 20 Jul 2020 15:03:44 +0300 Subject: [PATCH 2/3] Homework_Refactorimg --- .../Services/CoffeeService.cs | 1 - .../Services/CoffeeServiceTests.cs | 24 +++++++++---------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs index 8e718b1..eefb630 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs @@ -30,7 +30,6 @@ public void DeleteCoffee(Guid coffeeId) { if(coffeeId == Guid.Empty) throw new Exception("The Id given is empty"); coffeeModels.Remove(coffeeModels.First(i => i.Id == coffeeId)); - } public List GetCoffees() diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs index 35f8d07..ed0de87 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs @@ -36,49 +36,49 @@ public void AddNullCoffee_Throws_NewException() Assert.AreEqual(ex.Message, "You should not add null entries!"); } - - [Test] + //TODO: Add Unit test for Remaining add cases + [Test] public void AddCoffeWithoutPrice_DoesNotAddCoffee() { - var LengthList = coffeeService.GetCoffees().Count; + var CoffeeLenghtList = coffeeService.GetCoffees().Count; var AddCoffeeDetails = new CoffeeModel(); AddCoffeeDetails.Id = Guid.NewGuid(); AddCoffeeDetails.Name = "Your coffe name"; coffeeService.AddCoffee(AddCoffeeDetails); - Assert.AreEqual(LengthList, coffeeService.GetCoffees().Count); - + Assert.AreEqual(CoffeeLenghtList, coffeeService.GetCoffees().Count); } + [Test] public void AddCoffeWithoutName_DoesNotAddCoffee() { - var LengthList = coffeeService.GetCoffees().Count; + var CoffeeLenghtList = coffeeService.GetCoffees().Count; var AddCoffeeDetails = new CoffeeModel(); AddCoffeeDetails.Id = Guid.NewGuid(); AddCoffeeDetails.Price = 10.68f; coffeeService.AddCoffee(AddCoffeeDetails); - Assert.AreEqual(LengthList, coffeeService.GetCoffees().Count); - + Assert.AreEqual(CoffeeLenghtList, coffeeService.GetCoffees().Count); } + [Test] public void AddCoffeWithoutId_DoesNotAddCoffee() { - var LengthList = coffeeService.GetCoffees().Count; + var CoffeeLenghtList = coffeeService.GetCoffees().Count; var AddCoffeeDetails = new CoffeeModel(); AddCoffeeDetails.Name = "Your coffe name"; AddCoffeeDetails.Price = 22.20f; coffeeService.AddCoffee(AddCoffeeDetails); - Assert.AreEqual(LengthList, coffeeService.GetCoffees().Count); - + Assert.AreEqual(CoffeeLenghtList, coffeeService.GetCoffees().Count); } - [Test] //Todo: Add Unit test for deleting case + [Test] public void DeletedCoffee() { var deletedcoffee = coffeeService.GetCoffees().First(); coffeeService.DeleteCoffee(deletedcoffee.Id); + Assert.IsTrue(deletedcoffee != coffeeService.GetCoffees().First()); } } From 42ac1106f733172398724ddbbad222bddccf36fc Mon Sep 17 00:00:00 2001 From: cosminboc Date: Mon, 20 Jul 2020 16:30:19 +0300 Subject: [PATCH 3/3] CorecturaTema --- .../Services/CoffeeService.cs | 4 +- .../Services/CoffeeServiceTests.cs | 61 ++++++++++++++++++- 2 files changed, 63 insertions(+), 2 deletions(-) diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs index eefb630..f57e929 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Services/Services/CoffeeService.cs @@ -21,14 +21,16 @@ public void AddCoffee(CoffeeModel coffeeToAdd) if (coffeeToAdd == null) throw new Exception("You should not add null entries!"); if (coffeeModels.Any(i => i == coffeeToAdd)) throw new Exception("Already exists an entry with the same Id"); - if (!(coffeeToAdd.Id == Guid.Empty || coffeeToAdd.Name == null || coffeeToAdd.Price <= 0.0f || coffeeModels.Any(i => i.Name == coffeeToAdd.Name) || coffeeModels.Any(j => j.Id == coffeeToAdd.Id) || coffeeModels.Any(k => k.Price == coffeeToAdd.Price))) + if (!(coffeeToAdd.Id == Guid.Empty || coffeeToAdd.Name == null || coffeeToAdd.Price <= 0.0f || coffeeModels.Any(j => j.Name == coffeeToAdd.Name) || coffeeModels.Any(j => j.Id == coffeeToAdd.Id) || coffeeModels.Any(j => j.Price == coffeeToAdd.Price))) coffeeModels.Add(coffeeToAdd); } public void DeleteCoffee(Guid coffeeId) { + if(coffeeId == Guid.Empty) throw new Exception("The Id given is empty"); + if (coffeeModels.Any(j => j.Id == coffeeId)) coffeeModels.Remove(coffeeModels.First(i => i.Id == coffeeId)); } diff --git a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs index ed0de87..c37bc10 100644 --- a/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs +++ b/CoffeeMachineSimulator/CoffeeMachineSimulator.Tests/Services/CoffeeServiceTests.cs @@ -71,7 +71,66 @@ public void AddCoffeWithoutId_DoesNotAddCoffee() Assert.AreEqual(CoffeeLenghtList, coffeeService.GetCoffees().Count); } - //Todo: Add Unit test for deleting case + [Test] + public void AddCoffee_ExistingCoffee_ThrowsException() + { + + var AddCoffeeDetails = coffeeService.GetCoffees()[0]; + + var ex = Assert.Throws(() => coffeeService.AddCoffee(AddCoffeeDetails)); + Assert.AreEqual(ex.Message, "Already exists an entry with the same Id"); + + + } + + [Test] + public void AddCoffee_ExistingCoffeePrice_DoesNotAddCoffee() + { + var CoffeeLenghtList = coffeeService.GetCoffees().Count; + var AddCoffeeDetails = new CoffeeModel(); + + AddCoffeeDetails.Name = "hipoooo"; + AddCoffeeDetails.Id = Guid.NewGuid(); + AddCoffeeDetails.Price = coffeeService.GetCoffees()[0].Price; + + Assert.AreEqual(CoffeeLenghtList, coffeeService.GetCoffees().Count); + } + + [Test] + public void AddCoffee_ExistingCoffeeName_DoesNotAddCoffee() + { + var CoffeeLenghtList = coffeeService.GetCoffees().Count; + var AddCoffeeDetails = new CoffeeModel(); + + AddCoffeeDetails.Name = coffeeService.GetCoffees()[0].Name; + AddCoffeeDetails.Id = Guid.NewGuid(); + AddCoffeeDetails.Price = 15.58f; + + Assert.AreEqual(CoffeeLenghtList, coffeeService.GetCoffees().Count); + } + + [Test] + public void AddCoffee_ExistingCoffeeId_DoesNotAddCoffee() + { + var CoffeeLenghtList = coffeeService.GetCoffees().Count; + var AddCoffeeDetails = new CoffeeModel(); + + AddCoffeeDetails.Name = "malamala"; + AddCoffeeDetails.Id = coffeeService.GetCoffees()[0].Id; + AddCoffeeDetails.Price = 15.58f; + + Assert.AreEqual(CoffeeLenghtList, coffeeService.GetCoffees().Count); + } + + //Todo: Add Unit test for deleting case + [Test] + public void DeleteCoffeeWithEmptyId_Throws_NewException() + { + var coffeeToDelete = new CoffeeModel(); + var ex = Assert.Throws(() => coffeeService.DeleteCoffee(coffeeToDelete.Id)); + + Assert.AreEqual(ex.Message, "The Id given is empty"); + } [Test] public void DeletedCoffee() {