0
0

Add eurocones

This commit is contained in:
Serghei Cebotari 2023-10-15 22:04:33 +03:00
parent b3239908cc
commit 35ac8789e6
7 changed files with 98 additions and 0 deletions

View File

@ -95,4 +95,28 @@ public class RautitanFittingsTests : ProductQueryModifierTests
[TestCase("Заглушка, 16, латунь", "Заглушка для полимерн. трубы 16")]
public void DummyPlugTest(string query, string modified)
=> Execute(productType: "Заглушка труб RAUTITAN", query, modified);
[TestCase("Концовка разб. 3/4'' (еврок) для универс. трубы 16", "Резьбозажимное соединение flex/pink 16х2,2xG3/4")]
[TestCase("Переходник компрессионный PEX 20х2.8-G 3/4\" Евроконус", "Резьбозажимное соединение flex/pink 20х2,8xG3/4")]
[TestCase("Резьбозажимное соединение flex/pink 20х2,8xG3/4", "Резьбозажимное соединение flex/pink 20х2,8xG3/4")]
public void EuroconeFlexTest(string query, string modified)
=> Execute(productType: "Резьбозажимное flex", query, modified);
[TestCase("Резьбозажимное соединение stabil 16,2x2,6xG3/4", "Резьбозажимное соединение stabil 16,2x2,6xG3/4")]
[TestCase("Резьбозажимное соединение stabil 20x2,9xG3/4", "Резьбозажимное соединение stabil 20x2,9xG3/4")]
[TestCase("Концовка разб.3/4''(еврок.) для PE-Xc и PE-MDXс 16", "Резьбозажимное соединение stabil 16,2x2,6xG3/4")]
public void EuroconeStabilTest(string query, string modified)
=> Execute(productType: "Резьбозажимное stabil", query, modified);
[TestCase("Переходник на евроконус 16-G 3/4", "Переходник на евроконус 16-G 3/4")]
[TestCase("Соед.прям. с вн.резьбой (н.гайка, еврок.) 16 ник.", "Переходник на евроконус 16-G 3/4")]
[TestCase("Переходник с накидной гайкой 16x2.2 -G 3/4\" Евроконус, c гильзой в комплекте", "Переходник на евроконус 16-G 3/4")]
public void EuroconeAdapterTest(string query, string modified)
=> Execute(productType: "Переходник на евроконус", query, modified);
[TestCase("Резьбозажимное соединение для металлической трубки G 3/4 -15", "Резьбозажимное соединение для металлической трубки G 3/4 -15")]
[TestCase("Концовка для монтажной трубы 15 х 1/2''", "Резьбозажимное соединение для металлической трубки G 3/4 -15")]
[TestCase("Фитинг подключения L и T-образной медной трубки - D15 - G 3/4", "Резьбозажимное соединение для металлической трубки G 3/4 -15")]
public void EuroconeConnectionBendTest(string query, string modified)
=> Execute(productType: "Резьбозажимное для трубки", query, modified);
}

View File

@ -0,0 +1,21 @@
namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
public abstract class Eurocone : DrinkingWaterHeatingFitting
{
protected virtual Dictionary<string, string> _titles { get; } = new();
protected override string? BuildRhSolutionsName(string query)
{
var diameterMatch = _diameter.Match(query);
if (diameterMatch.Success)
{
string diameter = diameterMatch.Groups["Diameter"].Value;
if (_titles.TryGetValue(diameter, out string? title))
{
return title;
}
else return null;
}
return null;
}
}

View File

@ -0,0 +1,16 @@
namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
public class EuroconeAdapter : DrinkingWaterHeatingFitting
{
protected override string _title => "Переходник на евроконус";
protected override string? BuildRhSolutionsName(string query)
{
var diameterMatch = _diameter.Match(query);
if (diameterMatch.Success)
{
string diameter = diameterMatch.Groups["Diameter"].Value;
return $"{_title} {diameter}-G 3/4";
}
return null;
}
}

View File

@ -0,0 +1,9 @@
namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
public class EuroconeConnectionBend : DrinkingWaterHeatingFitting
{
protected override string? BuildRhSolutionsName(string query)
{
return "Резьбозажимное соединение для металлической трубки G 3/4 -15";
}
}

View File

@ -0,0 +1,10 @@
namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
public class EuroconeFlex : Eurocone
{
protected override Dictionary<string, string> _titles => new()
{
["16"] = "Резьбозажимное соединение flex/pink 16х2,2xG3/4",
["20"] = "Резьбозажимное соединение flex/pink 20х2,8xG3/4"
};
}

View File

@ -0,0 +1,10 @@
namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
public class EuroconeStabil : Eurocone
{
protected override Dictionary<string, string> _titles => new()
{
["16"] = "Резьбозажимное соединение stabil 16,2x2,6xG3/4",
["20"] = "Резьбозажимное соединение stabil 20x2,9xG3/4"
};
}

View File

@ -49,6 +49,14 @@ public class ProductQueryModifierFactory
return new ConnectionBend();
case "Трубка Т-образная":
return new ConnectionTee();
case "Резьбозажимное flex":
return new EuroconeFlex();
case "Резьбозажимное stabil":
return new EuroconeStabil();
case "Переходник на евроконус":
return new EuroconeAdapter();
case "Резьбозажимное для трубки":
return new EuroconeConnectionBend();
case "Заглушка труб RAUTITAN":
return new DummyPlug();
case "Flex":