diff --git a/RhSolutions.Api.Tests/RautitanFittingsTests.cs b/RhSolutions.Api.Tests/RautitanFittingsTests.cs index 6209d95..983467b 100644 --- a/RhSolutions.Api.Tests/RautitanFittingsTests.cs +++ b/RhSolutions.Api.Tests/RautitanFittingsTests.cs @@ -49,9 +49,14 @@ public class RautitanFittingsTests : ProductQueryModifierTests public void ThreadTPieceExternalTest(string query, string modified) => Execute(productType: "Тройник RAUTITAN резьбовой наружный", query, modified); - [TestCase("Фиксатор поворота трубы 16/17/90°, без колец (оцинк. сталь)", "Фиксатор поворота без колец 16/17/90°")] - [TestCase("Дуга 90° 25", "Фиксатор поворота без колец 25/90°")] - [TestCase("Дуга 90° r/d >= 2.5. Ø25 (767025)", "Фиксатор поворота без колец 25/90°")] + [TestCase("Фиксатор поворота трубы 16/17/90°, без колец (оцинк. сталь)", "Фиксатор поворота 16/17/90°")] + [TestCase("Дуга 90° 25", "Фиксатор поворота 25/90°")] + [TestCase("Дуга 90° r/d >= 2.5. Ø25 (767025)", "Фиксатор поворота 25/90°")] public void BendFormerHeatingTest(string query, string modified) - => Execute(productType: "Фиксатор поворота без колец", query, modified); + => Execute(productType: "Фиксатор поворота отопление", query, modified); + + [TestCase("Фиксатор поворота с кольцами 90°, 32", "Фиксатор поворота с кольцами 90° 32")] + [TestCase("Фиксатор поворота с кольцами 45°, 16", "Фиксатор поворота с кольцами 45° 16")] + public void BendFormerDrinkingTest(string query, string modified) + => Execute(productType: "Фиксатор поворота водоснабжение", query, modified); } diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs index 9d17519..b20b76e 100644 --- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs +++ b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs @@ -2,7 +2,7 @@ public class BendFormerHeating : DrinkingWaterHeatingFitting { - protected override string _title => "Фиксатор поворота без колец"; + protected override string _title => "Фиксатор поворота"; protected override string? BuildRhSolutionsName(string query) { var diameterMatch = _diameter.Match(query); @@ -20,3 +20,20 @@ public class BendFormerHeating : DrinkingWaterHeatingFitting return $"{_title} {diameter}/{angle}°"; } } + +public class BendFormerDrinking : DrinkingWaterHeatingFitting +{ + protected override string _title => "Фиксатор поворота с кольцами"; + protected override string? BuildRhSolutionsName(string query) + { + var diameterMatch = _diameter.Match(query); + if (!diameterMatch.Success) + { + return null; + } + string diameter = diameterMatch.Groups["Diameter"].Value; + var angleMatch = _angle.Match(query); + string angle = angleMatch.Success ? angleMatch.Groups["Angle"].Value : "90"; + return $"{_title} {angle}° {diameter}"; + } +} diff --git a/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs b/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs index c3252ff..f3d1485 100644 --- a/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs +++ b/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs @@ -33,8 +33,10 @@ public class ProductQueryModifierFactory return new Coupling(); case "Угольник RAUTITAN": return new ElbowModifier(); - case "Фиксатор поворота без колец": + case "Фиксатор поворота отопление": return new BendFormerHeating(); + case "Фиксатор поворота водоснабжение": + return new BendFormerDrinking(); case "Flex": return new FlexPipe(); case "Pink":