diff --git a/RhSolutions.Api.Tests/ProductQueryModifierTests.cs b/RhSolutions.Api.Tests/ProductQueryModifierTests.cs index d2823f9..4bc394b 100644 --- a/RhSolutions.Api.Tests/ProductQueryModifierTests.cs +++ b/RhSolutions.Api.Tests/ProductQueryModifierTests.cs @@ -1,36 +1,16 @@ using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Primitives; using RhSolutions.Api.Services; - -namespace RhSolutions.Api.Tests; - -public class ProductQueryModifierTests +public abstract class ProductQueryModifierTests { - private ProductQueryModifierFactory _factory; + protected ProductQueryModifierFactory _factory; [SetUp] public void Setup() { _factory = new ProductQueryModifierFactory(); } - - [TestCase("Монтажная гильза", "Гильза 16", "Монтажная гильза 16")] - [TestCase("Монтажная гильза", "Пресс-втулка 20", "Монтажная гильза 20")] - public void SleeveTest(string productType, string query, string modified) => - Test(productType, query, modified); - - [TestCase("Тройник RAUTITAN", "Тройник 20-16-16", "Тройник RAUTITAN -PLATINUM 20-16-16")] - [TestCase("Тройник RAUTITAN", "Тройник 20x16x16", "Тройник RAUTITAN -PLATINUM 20-16-16")] - public void TPieceTest(string productType, string query, string modified) => - Test(productType, query, modified); - - [TestCase("Муфта соединительная", "муфта 20", "Муфта соединительная равнопроходная 20")] - [TestCase("Муфта соединительная", "переходник 20-16", "Муфта соединительная переходная 20-16")] - [TestCase("Муфта соединительная", "Соединение труба-труба 20/20, бронза", "Муфта соединительная равнопроходная 20")] - public void CouplingTest(string productType, string query, string modified) => - Test(productType, query, modified); - - public void Test(string productType, string query, string modified) + public void Execute(string productType, string query, string modified) { Dictionary queryPair = new() { diff --git a/RhSolutions.Api.Tests/RautitanFittingsTests.cs b/RhSolutions.Api.Tests/RautitanFittingsTests.cs new file mode 100644 index 0000000..51184ed --- /dev/null +++ b/RhSolutions.Api.Tests/RautitanFittingsTests.cs @@ -0,0 +1,23 @@ +namespace RhSolutions.Api.Tests; +public class RautitanFittingsTests : ProductQueryModifierTests +{ + [TestCase("Гильза 16", "Монтажная гильза 16")] + [TestCase("Пресс-втулка 20", "Монтажная гильза 20")] + public void SleeveTest(string query, string modified) + => Execute(productType: "Монтажная гильза", query, modified); + + [TestCase("Тройник 20-16-16", "Тройник RAUTITAN -PLATINUM 20-16-16")] + [TestCase("Тройник 20x16x16", "Тройник RAUTITAN -PLATINUM 20-16-16")] + public void TPieceTest(string query, string modified) + => Execute(productType: "Тройник RAUTITAN", query, modified); + + [TestCase("муфта 20", "Муфта соединительная равнопроходная 20")] + [TestCase("переходник 20-16", "Муфта соединительная переходная 20-16")] + [TestCase("Соединение труба-труба 20/20, бронза", "Муфта соединительная равнопроходная 20")] + public void CouplingTest(string query, string modified) + => Execute(productType: "Муфта соединительная", query, modified); + + [TestCase("Угольник 90°, 40 PX", "Угольник RAUTITAN -PLATINUM 90 40")] + public void ElbowTest(string query, string modified) + => Execute(productType: "Угольник RAUTITAN", query, modified); +} \ No newline at end of file