diff --git a/RhSolutions.Api.Tests/RautitanFittingsTests.cs b/RhSolutions.Api.Tests/RautitanFittingsTests.cs index f077d20..0d1dbed 100644 --- a/RhSolutions.Api.Tests/RautitanFittingsTests.cs +++ b/RhSolutions.Api.Tests/RautitanFittingsTests.cs @@ -132,4 +132,9 @@ public class RautitanFittingsTests : ProductQueryModifierTests [TestCase("Ниппель", "К-т двух резьбозажим. нипелей с нар.резьбой 1/2х3/4")] public void NippelTest(string query, string modified) => Invoke(productType: "Ниппель", query, modified); + + [TestCase("Распределительный коллектор G1 2 отвода G 3/4", "Распределительный коллектор G1 2")] + [TestCase("Коллектор Квартирный с отсекающими кранами, латунь ДУ20, НР-ВР 3/4\", 3 контура НР 1/2", "Распределительный коллектор G1 3")] + public void ManifoldG1Test(string query, string modified) + => Invoke(productType: "Коллектор G1", query, modified); } diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldG1.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldG1.cs new file mode 100644 index 0000000..55781f9 --- /dev/null +++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldG1.cs @@ -0,0 +1,27 @@ +using System.Text.RegularExpressions; + +namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; + +[MLModifierKey("Коллектор G1")] +public class ManifoldG1 : DrinkingWaterHeatingFitting +{ + private static readonly Regex _portsCount = + new(@"([\b\D]|^)?(?2|3|4)([\b\D]|$)"); + + protected override string _title => "Распределительный коллектор G1"; + + public override bool TryQueryModify(string input, out string output) + { + var match = _portsCount.Match(input); + if (match.Success) + { + output = $"{_title} {match.Groups["Ports"]}"; + return true; + } + else + { + output = string.Empty; + return false; + } + } +} \ No newline at end of file