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

View File

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