summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RhSolutions.Api.Tests/RautitanFittingsTests.cs2
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs15
2 files changed, 11 insertions, 6 deletions
diff --git a/RhSolutions.Api.Tests/RautitanFittingsTests.cs b/RhSolutions.Api.Tests/RautitanFittingsTests.cs
index b86a5fb..af645ca 100644
--- a/RhSolutions.Api.Tests/RautitanFittingsTests.cs
+++ b/RhSolutions.Api.Tests/RautitanFittingsTests.cs
@@ -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)
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs
index 4605308..a418621 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs
+++ b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs
@@ -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]}";
}
}
}