0
0

Fix wrong diameters ordered queries parse

This commit is contained in:
Serghei Cebotari 2023-10-17 21:34:20 +03:00
parent 1246b55fa5
commit 675c491d6f
2 changed files with 11 additions and 6 deletions

View File

@ -4,6 +4,7 @@ public class RautitanFittingsTests : ProductQueryModifierTests
{
[TestCase("Гильза 16", "Монтажная гильза 16")]
[TestCase("Пресс-втулка 20", "Монтажная гильза 20")]
[TestCase("UPONOR Q&E EVOLUTION КОЛЬЦО БЕЛОЕ 16 '900Ф", "Монтажная гильза 16")]
public void SleeveTest(string query, string modified)
=> Execute(productType: "Монтажная гильза", query, modified);
@ -19,6 +20,7 @@ public class RautitanFittingsTests : ProductQueryModifierTests
[TestCase("муфта 20", "Муфта соединительная равнопроходная 20")]
[TestCase("переходник 20-16", "Муфта соединительная переходная 20-16")]
[TestCase("переходник 16-20", "Муфта соединительная переходная 20-16")]
[TestCase("Соединение труба-труба 20/20, бронза", "Муфта соединительная равнопроходная 20")]
[TestCase("Муфта соединительная переходная 20x16 для труб из сшитого полиэтилена аксиальный", "Муфта соединительная переходная 20-16")]
public void CouplingTest(string query, string modified)

View File

@ -5,19 +5,22 @@ public class Coupling : DrinkingWaterHeatingFitting
protected override string _title => "Муфта соединительная";
protected override string? BuildRhSolutionsName(string query)
{
var diameters = _diameter.Matches(query);
if (diameters.Count == 0)
var diametersMatches = _diameter.Matches(query);
if (diametersMatches.Count == 0)
{
return null;
}
if (diameters.Count < 2 ||
diameters.Count > 1 && diameters[0].Groups["Diameter"].Value == diameters[1].Groups["Diameter"].Value)
var diameters = diametersMatches.Select(x => x.Groups["Diameter"].Value)
.Take(2)
.OrderByDescending(x => int.Parse(x))
.ToArray();
if (diameters.Length == 1 || diameters[0] == diameters[1])
{
return $"{_title} равнопроходная {diameters[0].Groups["Diameter"]}";
return $"{_title} равнопроходная {diameters[0]}";
}
else
{
return $"{_title} переходная {diameters[0].Groups["Diameter"]}-{diameters[1].Groups["Diameter"]}";
return $"{_title} переходная {diameters[0]}-{diameters[1]}";
}
}
}