0
0

Add thread elbows modifiers

This commit is contained in:
Serghei Cebotari 2023-10-03 22:30:01 +03:00
parent f1d196da91
commit 1001c683bf
5 changed files with 27 additions and 1 deletions

View File

@ -20,4 +20,12 @@ public class RautitanFittingsTests : ProductQueryModifierTests
[TestCase("Угольник 90°, 40 PX", "Угольник RAUTITAN -PLATINUM 90 40")] [TestCase("Угольник 90°, 40 PX", "Угольник RAUTITAN -PLATINUM 90 40")]
public void ElbowTest(string query, string modified) public void ElbowTest(string query, string modified)
=> Execute(productType: "Угольник RAUTITAN", query, modified); => Execute(productType: "Угольник RAUTITAN", query, modified);
[TestCase("Уголок соединительный с ниппелем 20 х 1/2'', бронза", "Угольник-переходник с наружной резьбой 20 1/2")]
public void ThreadElbowExternalTest(string query, string modified)
=> Execute(productType: "Угольник с наружной резьбой", query, modified);
[TestCase("Уголок соединительный с муфтой 16 х 1/2\", бронза", "Угольник-переходник с внутренней резьбой 16 1/2")]
public void ThreadElbowInternalTest(string query, string modified)
=> Execute(productType: "Угольник с внутренней резьбой", query, modified);
} }

View File

@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Http.Extensions;
namespace RhSolutions.Api.Services namespace RhSolutions.Api.Services
{ {
public abstract class AdapterModifier : IProductQueryModifier public abstract class AdapterModifier : IProductQueryModifier
{ {
protected string pattern { get; } = protected string pattern { get; } =
@"(?<Diameter>\b16|20|25|32|40|50|63\b)\D+(?<Thread>\b1\s+1/4|1\s+1/2|1/2|3/4|2|1\b)"; @"(?<Diameter>\b16|20|25|32|40|50|63\b)\D+(?<Thread>\b1\s+1/4|1\s+1/2|1/2|3/4|2|1\b)";

View File

@ -16,6 +16,10 @@ public class ProductQueryModifierFactory
return new AdapterInternalModifier(); return new AdapterInternalModifier();
case "Переходник с накидной гайкой": case "Переходник с накидной гайкой":
return new AdapterScrewcapModifier(); return new AdapterScrewcapModifier();
case "Угольник с наружной резьбой":
return new ThreadElbowExternal();
case "Угольник с внутренней резьбой":
return new ThreadElbowInternal();
case "Муфта соединительная": case "Муфта соединительная":
return new CouplingModifier(); return new CouplingModifier();
case "Угольник RAUTITAN": case "Угольник RAUTITAN":

View File

@ -0,0 +1,7 @@
namespace RhSolutions.Api.Services
{
public class ThreadElbowExternal : AdapterModifier
{
protected override string name => "Угольник-переходник с наружной резьбой";
}
}

View File

@ -0,0 +1,7 @@
namespace RhSolutions.Api.Services
{
public class ThreadElbowInternal : AdapterModifier
{
protected override string name => "Угольник-переходник с внутренней резьбой";
}
}