From bcde8b809a03ca60d7a7c16406f1845a47b3a390 Mon Sep 17 00:00:00 2001 From: homyachelus Date: Thu, 29 Oct 2026 11:08:09 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D1=8C=D1=82?= =?UTF-8?q?=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 44 ++++++++++++++++ ShoeStore.Logic.sln | 31 ++++++++++++ ShoeStore.Logic/ProductCalculator.cs | 58 ++++++++++++++++++++++ ShoeStore.Logic/ShoeStore.Logic.csproj | 9 ++++ ShoeStore.Tests/MSTestSettings.cs | 1 + ShoeStore.Tests/ProductCalculatorTests.cs | 55 ++++++++++++++++++++ ShoeStore.Tests/ShoeStore.Tests.csproj | 23 +++++++++ result.png | Bin 0 -> 42013 bytes 8 files changed, 221 insertions(+) create mode 100644 README.md create mode 100644 ShoeStore.Logic.sln create mode 100644 ShoeStore.Logic/ProductCalculator.cs create mode 100644 ShoeStore.Logic/ShoeStore.Logic.csproj create mode 100644 ShoeStore.Tests/MSTestSettings.cs create mode 100644 ShoeStore.Tests/ProductCalculatorTests.cs create mode 100644 ShoeStore.Tests/ShoeStore.Tests.csproj create mode 100644 result.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..fee0b79 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +\# Вариативная часть. Задание 5: тестирование программных модулей + + + +Проект ShoeStore.Logic содержит класс ProductCalculator (Приложение 4), проект ShoeStore.Tests - модульные тесты MSTest. + + + +\## Протокол тестирования + + + +Фреймворк модульного тестирования: MSTest (.NET 8). + + + +Порядок запуска тестов: + +1\. Открыть решение в Visual Studio 2022. + +2\. Меню «Тест» -> «Обозреватель тестов». + +3\. Нажать «Запустить все тесты в представлении». + + + +Запуск из командной строки (в папке решения): dotnet test + + + +| № | Проверяемый случай | Входные данные | Ожидаемый результат | Фактический результат | Статус | + +|---|---|---|---|---|---| + +| 1 | Заказов в предыдущем месяце нет | Цена 2000; заказов нет; дата расчета 15.06.2027 | 1500 | 1500 | Пройден | + +| 2 | Есть заказ в предыдущем месяце | Цена 2000; заказ 10.05.2027; дата расчета 15.06.2027 | 2000 | 2000 | Пройден | + +| 3 | Граничное значение количества | Количество пар: 5 | мало | мало | Пройден | + +| 4 | Количество больше порогового | Количество пар: 6 | много | много | Пройден | + + + diff --git a/ShoeStore.Logic.sln b/ShoeStore.Logic.sln new file mode 100644 index 0000000..efc8fc6 --- /dev/null +++ b/ShoeStore.Logic.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.37216.2 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShoeStore.Logic", "ShoeStore.Logic\ShoeStore.Logic.csproj", "{243ECAB7-9F51-4608-84B0-48DC7E3C5C3C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShoeStore.Tests", "ShoeStore.Tests\ShoeStore.Tests.csproj", "{FED8B0FF-E33E-493C-A134-43F3D05BD6CB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {243ECAB7-9F51-4608-84B0-48DC7E3C5C3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {243ECAB7-9F51-4608-84B0-48DC7E3C5C3C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {243ECAB7-9F51-4608-84B0-48DC7E3C5C3C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {243ECAB7-9F51-4608-84B0-48DC7E3C5C3C}.Release|Any CPU.Build.0 = Release|Any CPU + {FED8B0FF-E33E-493C-A134-43F3D05BD6CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FED8B0FF-E33E-493C-A134-43F3D05BD6CB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FED8B0FF-E33E-493C-A134-43F3D05BD6CB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FED8B0FF-E33E-493C-A134-43F3D05BD6CB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {8E737E58-B5E1-47A9-8604-274B239853FC} + EndGlobalSection +EndGlobal diff --git a/ShoeStore.Logic/ProductCalculator.cs b/ShoeStore.Logic/ProductCalculator.cs new file mode 100644 index 0000000..795620d --- /dev/null +++ b/ShoeStore.Logic/ProductCalculator.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace ShoeStore.Logic +{ + /// + /// Расчет показателей товара для каталога. + /// + public static class ProductCalculator + { + public const decimal DiscountPercent = 25m; + public const int ManyQuantityThreshold = 5; + + /// + /// Возвращает цену товара с учетом скидки. + /// Скидка 25% предоставляется, если в предыдущем календарном месяце + /// (относительно даты расчета) по товару не было заказов. + /// + /// Цена товара в рублях. + /// Даты заказов товара (может быть пустым). + /// Дата расчета. + public static decimal CalculateDiscountedPrice(decimal price, IEnumerable orderDates, DateTime calculationDate) + { + if (price < 0) + { + throw new ArgumentOutOfRangeException(nameof(price), "Цена не может быть отрицательной."); + } + if (orderDates == null) + { + throw new ArgumentNullException(nameof(orderDates)); + } + + DateTime currentMonthStart = new DateTime(calculationDate.Year, calculationDate.Month, 1); + DateTime previousMonthStart = currentMonthStart.AddMonths(-1); + bool hasOrdersInPreviousMonth = orderDates.Any(date => date >= previousMonthStart && date < currentMonthStart); + + if (hasOrdersInPreviousMonth) + { + return price; + } + return Math.Round(price * (100m - DiscountPercent) / 100m, 2); + } + + /// + /// Возвращает признак количества: «много», если пар больше пяти, иначе «мало». + /// + /// Количество пар суммарно по всем размерам. + public static string GetQuantityLabel(int totalQuantity) + { + if (totalQuantity < 0) + { + throw new ArgumentOutOfRangeException(nameof(totalQuantity), "Количество не может быть отрицательным."); + } + return totalQuantity > ManyQuantityThreshold ? "много" : "мало"; + } + } +} diff --git a/ShoeStore.Logic/ShoeStore.Logic.csproj b/ShoeStore.Logic/ShoeStore.Logic.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/ShoeStore.Logic/ShoeStore.Logic.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/ShoeStore.Tests/MSTestSettings.cs b/ShoeStore.Tests/MSTestSettings.cs new file mode 100644 index 0000000..aaf278c --- /dev/null +++ b/ShoeStore.Tests/MSTestSettings.cs @@ -0,0 +1 @@ +[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)] diff --git a/ShoeStore.Tests/ProductCalculatorTests.cs b/ShoeStore.Tests/ProductCalculatorTests.cs new file mode 100644 index 0000000..9a890a6 --- /dev/null +++ b/ShoeStore.Tests/ProductCalculatorTests.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using ShoeStore.Logic; + +namespace ShoeStore.Tests +{ + [TestClass] + public class ProductCalculatorTests + { + // Случай 1: заказов в предыдущем месяце нет - цена со скидкой + [TestMethod] + public void CalculateDiscountedPrice_NoOrdersInPreviousMonth_ReturnsPriceWithDiscount() + { + decimal price = 2000m; + List orderDates = new List(); + DateTime calculationDate = new DateTime(2027, 6, 15); + + decimal result = ProductCalculator.CalculateDiscountedPrice(price, orderDates, calculationDate); + + Assert.AreEqual(1500m, result); + } + + // Случай 2: есть заказ в предыдущем месяце - цена без скидки + [TestMethod] + public void CalculateDiscountedPrice_OrderInPreviousMonth_ReturnsPriceWithoutDiscount() + { + decimal price = 2000m; + List orderDates = new List { new DateTime(2027, 5, 10) }; + DateTime calculationDate = new DateTime(2027, 6, 15); + + decimal result = ProductCalculator.CalculateDiscountedPrice(price, orderDates, calculationDate); + + Assert.AreEqual(2000m, result); + } + + // Случай 3: граничное значение - «мало» + [TestMethod] + public void GetQuantityLabel_FivePairs_ReturnsFew() + { + string result = ProductCalculator.GetQuantityLabel(5); + + Assert.AreEqual("мало", result); + } + + // Случай 4: больше порогового - «много» + [TestMethod] + public void GetQuantityLabel_SixPairs_ReturnsMany() + { + string result = ProductCalculator.GetQuantityLabel(6); + + Assert.AreEqual("много", result); + } + } +} diff --git a/ShoeStore.Tests/ShoeStore.Tests.csproj b/ShoeStore.Tests/ShoeStore.Tests.csproj new file mode 100644 index 0000000..9c96869 --- /dev/null +++ b/ShoeStore.Tests/ShoeStore.Tests.csproj @@ -0,0 +1,23 @@ + + + + net8.0 + latest + enable + enable + + + + + + + + + + + + + + + + diff --git a/result.png b/result.png new file mode 100644 index 0000000000000000000000000000000000000000..e28098a2047f6cacb4df8ccbc3bb873889329bfa GIT binary patch literal 42013 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 VH@0t1j9$|7nCpqdMF#_J{0m=oNNE57 literal 0 HcmV?d00001