From 194d85fbfe083a59a3dfe0adf5a4c6ed8e07f4c8 Mon Sep 17 00:00:00 2001 From: Serghei Cebotari Date: Fri, 26 Jan 2024 15:57:56 +0300 Subject: [PATCH] Improve t-piece parsing --- RhSolutions.Api.Tests/RautitanFittingsTests.cs | 1 + .../DrinkingWaterHeatingFittings/TPiece.cs | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/RhSolutions.Api.Tests/RautitanFittingsTests.cs b/RhSolutions.Api.Tests/RautitanFittingsTests.cs index d2af640..bc4ede7 100644 --- a/RhSolutions.Api.Tests/RautitanFittingsTests.cs +++ b/RhSolutions.Api.Tests/RautitanFittingsTests.cs @@ -15,6 +15,7 @@ public class RautitanFittingsTests : ProductQueryModifierTests [TestCase("Тройник 20-16-16", "Тройник -PLATINUM 20-16-16")] [TestCase("Тройник 20x16x16", "Тройник -PLATINUM 20-16-16")] + [TestCase("Тройник 20-16-25", "Тройник -PLATINUM 25-16-20")] public void TPieceTest(string query, string modified) => Execute(productType: "Тройник RAUTITAN", query, modified); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs index 274fd3d..f7a5eb9 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs +++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs @@ -10,6 +10,7 @@ public class TPiece : DrinkingWaterHeatingFitting output = string.Empty; var diameters = _diameter.Matches(input) .Select(match => match.Groups["Diameter"].Value) + .Select(d => int.Parse(d)) .ToArray(); if (diameters.Length == 1) { @@ -17,7 +18,14 @@ public class TPiece : DrinkingWaterHeatingFitting } else if (diameters.Length >= 3) { - output = $"{_title} {diameters[0]}-{diameters[1]}-{diameters[2]}"; + if (diameters[2] > diameters[0]) + { + output = $"{_title} {diameters[2]}-{diameters[1]}-{diameters[0]}"; + } + else + { + output = $"{_title} {diameters[0]}-{diameters[1]}-{diameters[2]}"; + } } else {