From 4668d7782e1a270e379ee37c1f7963f78f31c0a6 Mon Sep 17 00:00:00 2001 From: Serghei Cebotari Date: Sun, 20 Apr 2025 11:55:06 +0300 Subject: Update regex patterns for diameter handling and add test cases for pipes --- RhSolutions.Parsers.Tests/RautitanFittingsTests.cs | 52 +++++++++++----------- 1 file changed, 27 insertions(+), 25 deletions(-) (limited to 'RhSolutions.Parsers.Tests/RautitanFittingsTests.cs') diff --git a/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs b/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs index 76a936b..95581af 100644 --- a/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs +++ b/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs @@ -7,13 +7,13 @@ public class RautitanFittingsTests : ProductParsersTests [TestCase("Пресс-втулка 20", "Монтажная гильза 20")] [TestCase("UPONOR Q&E EVOLUTION КОЛЬЦО БЕЛОЕ 16 '900Ф", "Монтажная гильза 16")] public void SleeveTest(string query, string modified) - => Invoke(productType: "Монтажная гильза", query, modified); - + => Invoke(productType: "Монтажная гильза", query, modified); + [TestCase("Гофра 16", "Гофротруба защитн.для ПЭ-трубы 16/17")] [TestCase("Гофра 20", "Гофротруба защитн.для ПЭ-трубы 20")] public void ProtectivePipeTest(string query, string modified) => Invoke(productType: "Гофротруба RAUTITAN", query, modified); - + [TestCase("Фиксирующий желоб для ПЭ-трубы 16", "Фиксирующий желоб для ПЭ-трубы 16/17")] [TestCase("Фиксирующий желоб для ПЭ-трубы 20", "Фиксирующий желоб для ПЭ-трубы 20")] public void SupportingClipTest(string query, string modified) @@ -32,43 +32,45 @@ public class RautitanFittingsTests : ProductParsersTests [TestCase("переходник 16-20", "Муфта соединительная переходная 20-16")] [TestCase("Соединение труба-труба 20/20, бронза", "Муфта соединительная равнопроходная 20")] [TestCase("Муфта соединительная переходная 20x16 для труб из сшитого полиэтилена аксиальный", "Муфта соединительная переходная 20-16")] + [TestCase("Муфта двухсторонняя переходная латунная 20/14", "Муфта соединительная переходная 20-16")] public void CouplingTest(string query, string modified) => 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")] [TestCase("Переходник с вн. резьбой 16 20", "Переходник с внутренней резьбой -угольник-переходник 16 3/4")] [TestCase("Переход 26х3/4\" ВР", "Переходник с внутренней резьбой -угольник-переходник 25 3/4")] + [TestCase("Муфта латунная РВ 14 Rp1/2", "Переходник с внутренней резьбой -угольник-переходник 16 1/2")] public void AdapterInternalTest(string query, string modified) => Invoke(productType: "Переходник на внутреннюю резьбу", query, modified); - + [TestCase("Угольник 90°, 40 PX", "Угольник -PLATINUM 90 40")] public void ElbowTest(string query, string modified) => Invoke(productType: "Угольник RAUTITAN", query, modified); - + [TestCase("Уголок соединительный с ниппелем 20 х 1/2'', бронза", "Угольник-переходник с наружной резьбой 20 1/2")] public void ThreadElbowExternalTest(string query, string modified) => Invoke(productType: "Угольник с наружной резьбой", query, modified); - + [TestCase("Уголок соединительный с муфтой 16 х 1/2\", бронза", "Угольник-переходник с внутренней резьбой 16 1/2")] public void ThreadElbowInternalTest(string query, string modified) => Invoke(productType: "Угольник с внутренней резьбой", query, modified); - + [TestCase("Угольник-переходник с накидной гайкой 16-G 1/2 RX+", "Угольник-переходник с накидной гайкой 16 1/2")] [TestCase("Соединение угловое с накидной гайкой 16 х 1/2\", латунь", "Угольник-переходник с накидной гайкой 16 1/2")] public void ScrewcapElbowTest(string query, string modified) => Invoke(productType: "Угольник с накидной гайкой", query, modified); - + [TestCase("Тройник с внутр. резьбой на боков. проходе 25-Rp 1/2-25 RX+", "Тройник с внутр. резьбой на боков. проходе 25-Rp 1/2-25")] [TestCase("Тройник настенный с внутренней резьбой 16-Rp1/2-16 RX+", "Тройник настенный с внутренней резьбой 16-Rp1/2-16")] public void ThreadTPieceInternalTest(string query, string modified) => Invoke(productType: "Тройник RAUTITAN резьбовой внутренний", query, modified); - + [TestCase("Тройник RAUTITAN RX+ с наружной резьбой 20-20-R 3/4", "Тройник с наружной резьбой 20-20-R 3/4")] public void ThreadTPieceExternalTest(string query, string modified) => Invoke(productType: "Тройник RAUTITAN резьбовой наружный", query, modified); - + [TestCase("Фиксатор поворота трубы 16/17/90°, без колец (оцинк. сталь)", "Фиксатор поворота 16/17/90°")] [TestCase("Дуга 90° 25", "Фиксатор поворота 25/90°")] [TestCase("Дуга 90° r/d >= 2.5. Ø25 (767025)", "Фиксатор поворота 25/90°")] @@ -79,74 +81,74 @@ public class RautitanFittingsTests : ProductParsersTests [TestCase("Фиксатор поворота с кольцами 45°, 16", "Фиксатор поворота с кольцами 45° 16")] public void BendFormerSanitaryTest(string query, string modified) => Invoke(productType: "Фиксатор поворота водоснабжение", query, modified); - + [TestCase("Угольник настенный с наружной резьбой 16-R 1/2 RX+", "Угольник настенный с наружной резьбой 16-R 1/2")] public void ThreadElbowWallExternalTest(string query, string modified) => Invoke(productType: "Угольник настенный наружный", query, modified); - + [TestCase("Угольник настенный с внутр. резьбой 16-Rp 1/2 RX+", "Угольник настенный внутр. резьба 16-Rp 1/2")] [TestCase("Угольник настенный с длинным патрубком, внутр. резьба 16-Rp 1/2 RX+", "Угольник настенный внутр. резьба длинный 16-Rp 1/2")] [TestCase("Уголок с настенным креплением, удлиненный, 16 х 1/2'', бронза", "Угольник настенный внутр. резьба длинный 16-Rp 1/2")] public void ThreadElbowWallInternalTest(string query, string modified) => Invoke(productType: "Угольник настенный внутренний", query, modified); - + [TestCase("Проточный настенный угольник 16/16-Rp 1/2 длинный RX+", "Проточный настенный угольник 16/16-Rp 1/2 длинный")] [TestCase("Проточный настенный угольник 16/16-Rp 1/2 короткий RX+", "Проточный настенный угольник 16/16-Rp 1/2 короткий")] public void ThreadElbowDoubleWallInternalTest(string query, string modified) => Invoke(productType: "Проточный настенный угольник", query, modified); - + [TestCase("Трубка из. нерж. стали для подкл. радиатора, Г-образная 16/250", "Трубка Г-образная 16/250")] [TestCase("Монтажная трубка для радиатора, конечная, 16 х 15 х 300 мм", "Трубка Г-образная 16/250")] [TestCase("L-образная латунная трубка для радиатора РОС 16х15х300", "Трубка Г-образная 16/250")] public void ConnectionBendTest(string query, string modified) => Invoke(productType: "Трубка Г-образная", query, modified); - + [TestCase("Трубка из. нерж. стали для подкл. радиатора, Т-образная 16/250", "Трубка Т-образная 16/250")] [TestCase("Монтажная трубка для радиатора, проходная 20 х 15 х 300 мм", "Трубка Т-образная 20/250")] [TestCase("T-образная латунная трубка для радиатора РОС 16х15х300", "Трубка Т-образная 16/250")] public void ConnectionTeeTest(string query, string modified) => Invoke(productType: "Трубка Т-образная", query, modified); - + [TestCase("Заглушка для полимерн. трубы 16 RX+", "Заглушка для полимерн. трубы 16")] [TestCase("Заглушка 20", "Заглушка для полимерн. трубы 20")] [TestCase("Заглушка, 16, латунь", "Заглушка для полимерн. трубы 16")] public void DummyPlugTest(string query, string modified) => Invoke(productType: "Заглушка труб RAUTITAN", query, modified); - + [TestCase("Концовка разб. 3/4'' (еврок) для универс. трубы 16", "Резьбозажимное соединение flex/pink 16х2,2xG3/4")] [TestCase("Переходник компрессионный PEX 20х2.8-G 3/4\" Евроконус", "Резьбозажимное соединение flex/pink 20х2,8xG3/4")] [TestCase("Резьбозажимное соединение flex/pink 20х2,8xG3/4", "Резьбозажимное соединение flex/pink 20х2,8xG3/4")] public void EuroconeFlexTest(string query, string modified) => Invoke(productType: "Резьбозажимное flex", query, modified); - + [TestCase("Резьбозажимное соединение stabil 16,2x2,6xG3/4", "Резьбозажимное соединение stabil 16,2x2,6xG3/4")] [TestCase("Резьбозажимное соединение stabil 20x2,9xG3/4", "Резьбозажимное соединение stabil 20x2,9xG3/4")] [TestCase("Концовка разб.3/4''(еврок.) для PE-Xc и PE-MDXс 16", "Резьбозажимное соединение stabil 16,2x2,6xG3/4")] public void EuroconeStabilTest(string query, string modified) => Invoke(productType: "Резьбозажимное stabil", query, modified); - + [TestCase("Переходник на евроконус 16-G 3/4", "Переходник на евроконус 16-G 3/4")] [TestCase("Соед.прям. с вн.резьбой (н.гайка, еврок.) 16 ник.", "Переходник на евроконус 16-G 3/4")] [TestCase("Переходник с накидной гайкой 16x2.2 -G 3/4\" Евроконус, c гильзой в комплекте", "Переходник на евроконус 16-G 3/4")] public void EuroconeAdapterTest(string query, string modified) => Invoke(productType: "Переходник на евроконус", query, modified); - + [TestCase("Резьбозажимное соединение для металлической трубки G 3/4 -15", "Резьбозажимное соединение для металлической трубки G 3/4 -15")] [TestCase("Концовка для монтажной трубы 15 х 1/2''", "Резьбозажимное соединение для металлической трубки G 3/4 -15")] [TestCase("Фитинг подключения L и T-образной медной трубки - D15 - G 3/4", "Резьбозажимное соединение для металлической трубки G 3/4 -15")] public void EuroconeConnectionBendTest(string query, string modified) => Invoke(productType: "Резьбозажимное для трубки", query, modified); - + [TestCase("Ниппель", "К-т двух резьбозажим. нипелей с нар.резьбой 1/2х3/4")] public void NippelTest(string query, string modified) => Invoke(productType: "Ниппель", query, modified); - + [TestCase("Распределительный коллектор G1 2 отвода G 3/4", "Распределительный коллектор G1 2")] [TestCase("Коллектор Квартирный с отсекающими кранами, латунь ДУ20, НР-ВР 3/4\", 3 контура НР 1/2", "Распределительный коллектор G1 3")] [TestCase("Коллектор Квартирный с отсекающими кранами, латунь ДУ20, НР-ВР 3/\", 4 контура НР 1/2\"", "Распределительный коллектор G1 4")] public void ManifoldG1Test(string query, string modified) => Invoke(productType: "Коллектор G1", query, modified); - + [TestCase("Распределительный коллектор HLV на 2 группы нерж. сталь", "Распределительный коллектор HLV на 2 групп")] [TestCase("Распределительный коллектор HLV на 12 групп нерж. сталь", "Распределительный коллектор HLV на 12 групп")] public void ManifoldHLVTest(string query, string modified) -- cgit v1.2.3