Add connection bend and tee
This commit is contained in:
parent
18aec030f4
commit
06c520633e
@ -69,4 +69,14 @@ public class RautitanFittingsTests : ProductQueryModifierTests
|
|||||||
[TestCase("Уголок с настенным креплением, удлиненный, 16 х 1/2'', бронза", "Угольник настенный внутр. резьба длинный 16-Rp 1/2")]
|
[TestCase("Уголок с настенным креплением, удлиненный, 16 х 1/2'', бронза", "Угольник настенный внутр. резьба длинный 16-Rp 1/2")]
|
||||||
public void ThreadElbowWallInternalTest(string query, string modified)
|
public void ThreadElbowWallInternalTest(string query, string modified)
|
||||||
=> Execute(productType: "Угольник настенный внутренний", query, modified);
|
=> Execute(productType: "Угольник настенный внутренний", query, modified);
|
||||||
|
|
||||||
|
[TestCase("Трубка из. нерж. стали для подкл. радиатора, Г-образная 16/250", "Трубка Г-образная 16/250")]
|
||||||
|
[TestCase("Монтажная трубка для радиатора, конечная, 16 х 15 х 300 мм", "Трубка Г-образная 16/250")]
|
||||||
|
public void ConnectionBendTest(string query, string modified)
|
||||||
|
=> Execute(productType: "Трубка Г-образная", query, modified);
|
||||||
|
|
||||||
|
[TestCase("Трубка из. нерж. стали для подкл. радиатора, Т-образная 16/250", "Трубка Т-образная 16/250")]
|
||||||
|
[TestCase("Монтажная трубка для радиатора, проходная 20 х 15 х 300 мм", "Трубка Т-образная 20/250")]
|
||||||
|
public void ConnectionTeeTest(string query, string modified)
|
||||||
|
=> Execute(productType: "Трубка Т-образная", query, modified);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
|
||||||
|
|
||||||
|
public class ConnectionBend : DrinkingWaterHeatingFitting
|
||||||
|
{
|
||||||
|
private static readonly int[] lengths = new [] { 250, 500, 1000 };
|
||||||
|
private static readonly Regex _pattern =
|
||||||
|
new(@"([\b\D]|^)?(?<Diameter>16|20|25)(\D+|.*15.*)(?<Length>\b\d{3,4})([\b\D]|$)");
|
||||||
|
protected override string _title => "Трубка Г-образная";
|
||||||
|
|
||||||
|
protected override string? BuildRhSolutionsName(string query)
|
||||||
|
{
|
||||||
|
var match = _pattern.Match(query);
|
||||||
|
if (!match.Success)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
string diameter = match.Groups["Diameter"].Value;
|
||||||
|
int length = int.Parse(match.Groups["Length"].Value);
|
||||||
|
int nearest = lengths.OrderBy(x => Math.Abs(x - length)).First();
|
||||||
|
return $"{_title} {diameter}/{nearest}";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
|
||||||
|
|
||||||
|
public class ConnectionTee : ConnectionBend
|
||||||
|
{
|
||||||
|
protected override string _title => "Трубка Т-образная";
|
||||||
|
}
|
@ -41,6 +41,10 @@ public class ProductQueryModifierFactory
|
|||||||
return new BendFormerHeating();
|
return new BendFormerHeating();
|
||||||
case "Фиксатор поворота водоснабжение":
|
case "Фиксатор поворота водоснабжение":
|
||||||
return new BendFormerSanitary();
|
return new BendFormerSanitary();
|
||||||
|
case "Трубка Г-образная":
|
||||||
|
return new ConnectionBend();
|
||||||
|
case "Трубка Т-образная":
|
||||||
|
return new ConnectionTee();
|
||||||
case "Flex":
|
case "Flex":
|
||||||
return new FlexPipe();
|
return new FlexPipe();
|
||||||
case "Pink":
|
case "Pink":
|
||||||
|
Loading…
Reference in New Issue
Block a user