From 9ce5690584164dd11aefabfbb4e77aac4ddfa3e0 Mon Sep 17 00:00:00 2001 From: LivelyPuer Date: Wed, 12 Feb 2025 22:24:57 +0400 Subject: [PATCH] add new tests --- .../CandyHouseTests/CandyHouseTests.csproj | 2 + .../IngredientStockDataModelTests.cs | 40 +++++++++++++++++ .../SupplyItemDataModelTests.cs | 43 +++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 CandyHouseSolution/CandyHouseTests/DataModelsTests/IngredientStockDataModelTests.cs create mode 100644 CandyHouseSolution/CandyHouseTests/DataModelsTests/SupplyItemDataModelTests.cs diff --git a/CandyHouseSolution/CandyHouseTests/CandyHouseTests.csproj b/CandyHouseSolution/CandyHouseTests/CandyHouseTests.csproj index c47af43..12447e8 100644 --- a/CandyHouseSolution/CandyHouseTests/CandyHouseTests.csproj +++ b/CandyHouseSolution/CandyHouseTests/CandyHouseTests.csproj @@ -102,8 +102,10 @@ + + diff --git a/CandyHouseSolution/CandyHouseTests/DataModelsTests/IngredientStockDataModelTests.cs b/CandyHouseSolution/CandyHouseTests/DataModelsTests/IngredientStockDataModelTests.cs new file mode 100644 index 0000000..2012b3b --- /dev/null +++ b/CandyHouseSolution/CandyHouseTests/DataModelsTests/IngredientStockDataModelTests.cs @@ -0,0 +1,40 @@ +using System; +using NUnit.Framework; +using CandyHouseBase.DataModels; +using CandyHouseBase.Exceptions; + +namespace CandyHouseTests.DataModelsTests +{ + [TestFixture] + public class IngredientStockDataModelTests + { + [Test] + public void IngredientStock_ShouldThrowException_WhenIdIsInvalid() + { + var stock = new IngredientStockDataModel("", 10); + Assert.Throws(stock.Validate); + } + + [Test] + public void IngredientStock_ShouldThrowException_WhenQuantityIsNegative() + { + var stock = new IngredientStockDataModel(Guid.NewGuid().ToString(), -5); + Assert.Throws(stock.Validate); + } + + [Test] + public void IngredientStock_ShouldAddStockCorrectly() + { + var stock = new IngredientStockDataModel(Guid.NewGuid().ToString(), 10); + stock.AddStock(5); + Assert.That(stock.Quantity, Is.EqualTo(15)); + } + + [Test] + public void IngredientStock_ShouldThrowException_WhenRemovingTooMuchStock() + { + var stock = new IngredientStockDataModel(Guid.NewGuid().ToString(), 10); + Assert.Throws(() => stock.RemoveStock(15)); + } + } +} \ No newline at end of file diff --git a/CandyHouseSolution/CandyHouseTests/DataModelsTests/SupplyItemDataModelTests.cs b/CandyHouseSolution/CandyHouseTests/DataModelsTests/SupplyItemDataModelTests.cs new file mode 100644 index 0000000..53a843c --- /dev/null +++ b/CandyHouseSolution/CandyHouseTests/DataModelsTests/SupplyItemDataModelTests.cs @@ -0,0 +1,43 @@ +using System; +using NUnit.Framework; +using CandyHouseBase.DataModels; +using CandyHouseBase.Enums; +using CandyHouseBase.Exceptions; + +namespace CandyHouseTests.DataModelsTests +{ + [TestFixture] + public class SupplyItemDataModelTests + { + [Test] + public void SupplyItem_ShouldThrowException_WhenSupplyIdIsInvalid() + { + var supplyItem = new SupplyItemDataModel("", Guid.NewGuid().ToString(), 10, ItemType.Ingredient); + Assert.Throws(supplyItem.Validate); + } + + [Test] + public void SupplyItem_ShouldThrowException_WhenItemIdIsInvalid() + { + var supplyItem = new SupplyItemDataModel(Guid.NewGuid().ToString(), "", 10, ItemType.Product); + Assert.Throws(supplyItem.Validate); + } + + [Test] + public void SupplyItem_ShouldThrowException_WhenQuantityIsZeroOrNegative() + { + var supplyItem = new SupplyItemDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0, + ItemType.Product); + Assert.Throws(supplyItem.Validate); + } + + [Test] + public void SupplyItem_ShouldCreateSuccessfully_WithValidData() + { + var supplyItem = new SupplyItemDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, + ItemType.Ingredient); + Assert.That(supplyItem.Quantity, Is.EqualTo(10)); + Assert.That(supplyItem.ItemType, Is.EqualTo(ItemType.Ingredient)); + } + } +} \ No newline at end of file