0
0

Add bend former for drinking water pipes

This commit is contained in:
Serghei Cebotari 2023-10-13 21:59:07 +03:00
parent bc2ddd3151
commit 432a6fb79d
3 changed files with 30 additions and 6 deletions

View File

@ -49,9 +49,14 @@ public class RautitanFittingsTests : ProductQueryModifierTests
public void ThreadTPieceExternalTest(string query, string modified) public void ThreadTPieceExternalTest(string query, string modified)
=> Execute(productType: "Тройник RAUTITAN резьбовой наружный", query, modified); => Execute(productType: "Тройник RAUTITAN резьбовой наружный", query, modified);
[TestCase("Фиксатор поворота трубы 16/17/90°, без колец (оцинк. сталь)", "Фиксатор поворота без колец 16/17/90°")] [TestCase("Фиксатор поворота трубы 16/17/90°, без колец (оцинк. сталь)", "Фиксатор поворота 16/17/90°")]
[TestCase("Дуга 90° 25", "Фиксатор поворота без колец 25/90°")] [TestCase("Дуга 90° 25", "Фиксатор поворота 25/90°")]
[TestCase("Дуга 90° r/d >= 2.5. Ø25 (767025)", "Фиксатор поворота без колец 25/90°")] [TestCase("Дуга 90° r/d >= 2.5. Ø25 (767025)", "Фиксатор поворота 25/90°")]
public void BendFormerHeatingTest(string query, string modified) 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);
} }

View File

@ -2,7 +2,7 @@
public class BendFormerHeating : DrinkingWaterHeatingFitting public class BendFormerHeating : DrinkingWaterHeatingFitting
{ {
protected override string _title => "Фиксатор поворота без колец"; protected override string _title => "Фиксатор поворота";
protected override string? BuildRhSolutionsName(string query) protected override string? BuildRhSolutionsName(string query)
{ {
var diameterMatch = _diameter.Match(query); var diameterMatch = _diameter.Match(query);
@ -20,3 +20,20 @@ public class BendFormerHeating : DrinkingWaterHeatingFitting
return $"{_title} {diameter}/{angle}°"; 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}";
}
}

View File

@ -33,8 +33,10 @@ public class ProductQueryModifierFactory
return new Coupling(); return new Coupling();
case "Угольник RAUTITAN": case "Угольник RAUTITAN":
return new ElbowModifier(); return new ElbowModifier();
case "Фиксатор поворота без колец": case "Фиксатор поворота отопление":
return new BendFormerHeating(); return new BendFormerHeating();
case "Фиксатор поворота водоснабжение":
return new BendFormerDrinking();
case "Flex": case "Flex":
return new FlexPipe(); return new FlexPipe();
case "Pink": case "Pink":