0
0

Fix РЕХАУ pipes lookup
All checks were successful
Test and release / release-image (push) Successful in 5m34s
Test and release / test (push) Successful in 2m17s

This commit is contained in:
Serghei Cebotari 2024-04-11 23:22:25 +03:00
parent 93cd2ce76d
commit ab91f7c24b
3 changed files with 43 additions and 9 deletions

View File

@ -3,17 +3,18 @@ namespace RhSolutions.Api.Tests;
public class RautitanPipesTests : ProductParsersTests
{
[TestCase("Унив.труба RAUTITAN flex 16x2,2, бухта 100м", "Труба РЕХАУ FLEX 16x2,2 бухта")]
[TestCase("Труба flex 16", "Труба РЕХАУ FLEX 16x2,2 бухта")]
[TestCase("Унив.труба RAUTITAN flex 32x4,4, прям.отрезки 6м", "Труба РЕХАУ FLEX 32x4,4 прям.отрезки")]
[TestCase("Труба flex 32", "Труба РЕХАУ FLEX 32x4,4 прям.отрезки")]
[TestCase("Унив.труба RAUTITAN flex 16x2,2, бухта 100м", "Труба РЕХАУ FLEX 16x2,2")]
[TestCase("Труба flex 16", "Труба РЕХАУ FLEX 16x2,2")]
[TestCase("Унив.труба RAUTITAN flex 32x4,4, прям.отрезки 6м", "Труба РЕХАУ FLEX 32x4,4")]
[TestCase("Труба flex 32", "Труба РЕХАУ FLEX 32x4,4")]
public void FlexPipeTest(string query, string modified)
=> Invoke(productType: "Flex", query, modified);
[TestCase("Унив. труба RAUTITAN pink+ 16х2,2 мм, бухта 120 м", "Труба РЕХАУ PINK 16х2,2 бухта")]
[TestCase("труба pink 16", "Труба РЕХАУ PINK 16х2,2 бухта")]
[TestCase("Унив. труба RAUTITAN pink+ 32х4,4 мм, бухта 50 м", "Труба РЕХАУ PINK 32х4,4 бухта")]
[TestCase("труба pink 32", "Труба РЕХАУ PINK 32х4,4 прямые отрезки")]
[TestCase("Унив. труба RAUTITAN pink+ 16х2,2 мм, бухта 120 м", "Труба РЕХАУ PINK 16х2,2")]
[TestCase("труба pink 16", "Труба РЕХАУ PINK 16х2,2")]
[TestCase("Унив. труба RAUTITAN pink+ 32х4,4 мм, бухта 50 м", "Труба РЕХАУ PINK 32х4,4")]
[TestCase("труба pink 32", "Труба РЕХАУ PINK 32х4,4")]
[TestCase("труба pink 40", "Труба pink+ 40х5,5")]
public void PinkPipeTest(string query, string modified)
=> Invoke(productType: "Pink", query, modified);
@ -21,7 +22,7 @@ public class RautitanPipesTests : ProductParsersTests
[TestCase("труба stabil 16", "Труба Stabil -PLATINUM 16,2х2,6 бухта")]
[TestCase("Универсальн.труба RAUTITAN stabil 32х4,7 мм, прям.отрезки 5м", "Труба Stabil -PLATINUM 32х4,7 прям.отрезки")]
[TestCase("труба stabil 32", "Труба Stabil -PLATINUM 32х4,7 прям.отрезки")]
[TestCase("труба 50", "Труба РЕХАУ FLEX 50x6,9 прям.отрезки")]
[TestCase("труба 50", "Труба РЕХАУ FLEX 50x6,9")]
public void StabilPipeTest(string query, string modified)
=> Invoke(productType: "Stabil", query, modified);

View File

@ -4,4 +4,17 @@ namespace RhSolutions.Parsers.Pipes;
public class FlexPipe : DrinkingWaterHeatingPipe
{
protected override string _title => "РЕХАУ FLEX";
public override bool TryParse(string input, out string output)
{
output = string.Empty;
var diameterMatch = _diameter.Match(input);
if (!diameterMatch.Success)
{
return false;
}
var diameter = int.Parse(diameterMatch.Groups["Diameter"].Value);
output = $"Труба {_title} {_diameterNames[diameter]}";
return true;
}
}

View File

@ -21,4 +21,24 @@ public class PinkPipe : DrinkingWaterHeatingPipe
[50] = "50х6,9",
[63] = "63х8,7"
};
public override bool TryParse(string input, out string output)
{
output = string.Empty;
var diameterMatch = _diameter.Match(input);
if (!diameterMatch.Success)
{
return false;
}
var diameter = int.Parse(diameterMatch.Groups["Diameter"].Value);
if (diameter < 40)
{
output = $"Труба {_title} {_diameterNames[diameter]}";
}
else
{
output = $"Труба pink+ {_diameterNames[diameter]}";
}
return true;
}
}