From 29d70967861e32ad8c67adcd9bdc19fc018325ef Mon Sep 17 00:00:00 2001 From: Serghei Cebotari Date: Fri, 26 Apr 2024 21:55:54 +0300 Subject: [PATCH] Improve fittings regex --- RhSolutions.Parsers.Tests/RautitanFittingsTests.cs | 4 +++- .../DrinkingWaterHeatingFitting.cs | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs b/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs index 98ffd08..bff454f 100644 --- a/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs +++ b/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs @@ -22,6 +22,7 @@ public class RautitanFittingsTests : ProductParsersTests [TestCase("Тройник 20-16-16", "Тройник -PLATINUM 20-16-16")] [TestCase("Тройник 20x16x16", "Тройник -PLATINUM 20-16-16")] [TestCase("Тройник 20-16-25", "Тройник -PLATINUM 25-16-20")] + [TestCase("SFA-0014-251620 STOUT Тройник переходной 25x16x20 для труб 12", "Тройник -PLATINUM 25-16-20")] public void TPieceTest(string query, string modified) => Invoke(productType: "Тройник RAUTITAN", query, modified); @@ -34,7 +35,8 @@ public class RautitanFittingsTests : ProductParsersTests => Invoke(productType: "Муфта соединительная", query, modified); [TestCase("Переходник с внутренней резьбой 16xG 3/4\" для труб из сшитого полиэтилена аксиальный", "Переходник с внутренней резьбой -угольник-переходник 16 3/4")] - [TestCase("Переходник на внутреннюю резьбу 20", "Переходник с внутренней резьбой -угольник-переходник 20 1/2")] + [TestCase("Переходник на внутреннюю резьбу 20", "Переходник с внутренней резьбой -угольник-переходник 20 1/2")] + [TestCase("32 Соединение прямое с внутренней резьбой, 40 х 1 1/2", "Переходник с внутренней резьбой -угольник-переходник 40 1 1/2")] public void AdapterInternalTest(string query, string modified) => Invoke(productType: "Переходник на внутреннюю резьбу", query, modified); diff --git a/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs index 218e9e0..5658766 100644 --- a/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs @@ -5,11 +5,11 @@ namespace RhSolutions.Parsers.Fittings; public abstract class DrinkingWaterHeatingFitting : IProductParser { protected static readonly Regex _diameter = - new(@"([\b\D]|^)?(?16|20|25|32|40|50|63)([\b\D]|$)"); + new(@"(?16|20|25|32|40|50|63)[\b\D]?"); protected static readonly Regex _angle = - new(@"([\b\D])(?45|90)([\b\D]|$)"); + new(@"(?45|90)([\b\D]|$)"); protected static readonly Regex _thread = - new(@"([\b\D])(?1\s+1/4|1\s+1/2|1/2|3/4|2|1)([\b\D]|$)"); + new(@"(?1\s+1/4|1\s+1/2|1/2|3/4|2|1)([\b\D]|$)"); protected virtual string _title { get; } = string.Empty;