0
0

Compare commits

...

3 Commits

Author SHA1 Message Date
29d7096786 Improve fittings regex
All checks were successful
Test and release / test (push) Successful in 2m50s
Test and release / release-image (push) Successful in 5m9s
2024-04-26 21:55:54 +03:00
2890ec8df8 Update packages 2024-04-17 07:03:30 +03:00
cf4b75980c Improve bends and tees regex 2024-04-17 06:42:56 +03:00
5 changed files with 20 additions and 16 deletions

View File

@ -11,20 +11,20 @@
<ItemGroup>
<PackageReference Include="ClosedXML" Version="0.102.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="8.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.1">
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.4">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.ML" Version="3.0.1" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.0" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.2" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.Design" Version="1.1.0" />
<PackageReference Include="Rhsolutions.ProductSku" Version="1.0.2" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="7.3.1" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="7.5.1" />
</ItemGroup>
<ItemGroup>

View File

@ -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);
@ -92,11 +94,13 @@ public class RautitanFittingsTests : ProductParsersTests
[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);

View File

@ -9,14 +9,14 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="NUnit" Version="4.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="NUnit" Version="4.1.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageReference Include="NUnit.Analyzers" Version="4.0.1">
<PackageReference Include="NUnit.Analyzers" Version="4.1.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="6.0.0">
<PackageReference Include="coverlet.collector" Version="6.0.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>

View File

@ -7,7 +7,7 @@ public class ConnectionBend : DrinkingWaterHeatingFitting
{
private static readonly int[] lengths = [250, 500, 1000];
private static readonly Regex _pattern =
new(@"([\b\D]|^)?(?<Diameter>16|20|25)(\D+|.*15.*)(?<Length>\b\d{3,4})([\b\D]|$)");
new(@"([\b\D]|^)?(?<Diameter>16|20|25)(\D+|.*15.*)(?<Length>\d{3,4})([\b\D]|$)");
protected override string _title => "Трубка Г-образная";
public override bool TryParse(string input, out string output)

View File

@ -5,11 +5,11 @@ namespace RhSolutions.Parsers.Fittings;
public abstract class DrinkingWaterHeatingFitting : IProductParser
{
protected static readonly Regex _diameter =
new(@"([\b\D]|^)?(?<Diameter>16|20|25|32|40|50|63)([\b\D]|$)");
new(@"(?<!^)[\b\D]?(?<Diameter>16|20|25|32|40|50|63)[\b\D]?");
protected static readonly Regex _angle =
new(@"([\b\D])(?<Angle>45|90)([\b\D]|$)");
new(@"(?<!^)([\b\D])(?<Angle>45|90)([\b\D]|$)");
protected static readonly Regex _thread =
new(@"([\b\D])(?<Thread>1\s+1/4|1\s+1/2|1/2|3/4|2|1)([\b\D]|$)");
new(@"(?<!^)([\b\D])(?<Thread>1\s+1/4|1\s+1/2|1/2|3/4|2|1)([\b\D]|$)");
protected virtual string _title { get; } = string.Empty;