0
0

Update Misc External Adapter

This commit is contained in:
Serghei Cebotari 2023-10-03 21:43:15 +03:00
parent 9fabd57e79
commit 2f1a2459fa
7 changed files with 182 additions and 210 deletions

View File

@ -78,3 +78,19 @@
Переходник 50 НР Переходник на наружную резьбу
Переходник 50 НР Переходник на наружную резьбу
Переходник 63 НР Переходник на наружную резьбу
Переходник на резьбу 16-R 1/2 RX+ Переходник на наружную резьбу
Переходник на резьбу 16-R 3/4 RX+ Переходник на наружную резьбу
Переходник на резьбу 16-R 1 RX+ Переходник на наружную резьбу
Переходник на резьбу 20-R 1/2 RX+ Переходник на наружную резьбу
Переходник на резьбу 20-R 3/4 RX+ Переходник на наружную резьбу
Переходник на резьбу 20-R 1 RX+ Переходник на наружную резьбу
Переходник на резьбу 25-R 1/2 RX+ Переходник на наружную резьбу
Переходник на резьбу 25-R 3/4 RX+ Переходник на наружную резьбу
Переходник на резьбу 25-R 1 RX+ Переходник на наружную резьбу
Переходник на резьбу 32-R 3/4 RX+ Переходник на наружную резьбу
Переходник на резьбу 32-R 1 RX+ Переходник на наружную резьбу
Переходник на резьбу 32-R 1 1/4 RX+ Переходник на наружную резьбу
Переходник на резьбу 40-R 1 1/4 RX+ Переходник на наружную резьбу
Переходник на резьбу 50-R 1 1/4 RX+ Переходник на наружную резьбу
Переходник на резьбу 50-R 1 1/2 RX+ Переходник на наружную резьбу
Переходник на резьбу 63-R 2 RX+ Переходник на наружную резьбу

29
Data/tece_сoupling.txt Normal file
View File

@ -0,0 +1,29 @@
Соединение труба-труба 16/16, бронза Муфта соединительная
Соединение труба-труба 20/20, бронза Муфта соединительная
Соединение труба-труба 25/25, бронза Муфта соединительная
Соединение труба-труба 32/32, бронза Муфта соединительная
Соединение труба-труба 40/40, бронза Муфта соединительная
Соединение труба-труба 50/50, бронза Муфта соединительная
Соединение труба-труба 63/63, бронза Муфта соединительная
Соединение труба-труба 16/16, латунь Муфта соединительная
Соединение труба-труба 20/20, латунь Муфта соединительная
Соединение труба-труба 25/25, латунь Муфта соединительная
Соединение труба-труба 32/32, латунь Муфта соединительная
Соединение труба-труба 40/40, латунь Муфта соединительная
Соединение труба-труба 50/50, латунь Муфта соединительная
Соединение труба-труба 63/63, латунь Муфта соединительная
Соединение труба-труба редукционное, 20 х 16, бронза Муфта соединительная
Соединение труба-труба редукционное, 25 х 16, бронза Муфта соединительная
Соединение труба-труба редукционное, 25 х 20, бронза Муфта соединительная
Соединение труба-труба редукционное, 32 х 20, бронза Муфта соединительная
Соединение труба-труба редукционное, 32 х 25, бронза Муфта соединительная
Соединение труба-труба редукционное, 40 х 32, бронза Муфта соединительная
Соединение труба-труба редукционное, 50 х 40, бронза Муфта соединительная
Соединение труба-труба редукционное, 63 х 50, бронза Муфта соединительная
Соединение труба-труба редукционное, 20 х 16, латунь Муфта соединительная
Соединение труба-труба редукционное, 25 х 16, латунь Муфта соединительная
Соединение труба-труба редукционное, 25 х 20, латунь Муфта соединительная
Соединение труба-труба редукционное, 32 х 20, латунь Муфта соединительная
Соединение труба-труба редукционное, 32 х 25, латунь Муфта соединительная
Соединение труба-труба редукционное, 40 х 32, латунь Муфта соединительная
Соединение труба-труба редукционное, 50 х 40, латунь Муфта соединительная

View File

@ -0,0 +1,16 @@
namespace RhSolutions.ML.Tests;
public class RaupianoTests : RhSolutionsTests
{
[TestCase("Труба канализационная")]
[TestCase("Труба 110")]
[TestCase("Труба 110 500")]
public void WastePipeTest(string name)
=> Execute(name, expectedGroup: "Труба RAUPIANO");
[TestCase("Тройник 50/50/45")]
[TestCase("Тройник 50/50/45°")]
[TestCase("Тройник 50 50 45")]
public void WastePipeBranchTest(string name)
=> Execute(name, expectedGroup: "Тройник RAUPIANO");
}

View File

@ -0,0 +1,65 @@
namespace RhSolutions.ML.Tests;
public class RautitanFittingsTests : RhSolutionsTests
{
[TestCase("Гильза 16")]
[TestCase("Пресс-втулка")]
public void SleevesTest(string name)
=> Execute(name, expectedGroup: "Монтажная гильза");
[TestCase("Тройник 20")]
[TestCase("Тройник 20-16-16")]
[TestCase("Тройник 20х20х20")]
[TestCase("Тройник 32*32*32")]
[TestCase("Тройник 50-50-32")]
[TestCase("Тройник, 40 - 20 - 40")]
[TestCase("Тройник, 50 - 32 - 50")]
public void TPieceTest(string name)
=> Execute(name, expectedGroup: "Тройник RAUTITAN");
[TestCase("Муфта соединительная равнопроходная 16 PX")]
[TestCase("Муфта соединительная переходная 25-16")]
[TestCase("Муфта 16")]
[TestCase("Переход 20-16")]
[TestCase("Переходник 20-16")]
[TestCase("Соединение труба-труба 50/50")]
[TestCase("Соединение труба-труба редукционное, 25 х 16")]
public void CouplingTest(string name)
=> Execute(name, expectedGroup: "Муфта соединительная");
[TestCase("Переходник с наружной резьбой 20-R 3/4 RX+")]
[TestCase("Переходник с наружн. резьбой 20 1/2")]
[TestCase("Переходник 16 1/2 НР")]
[TestCase("ПНР 16")]
[TestCase("Переход НР 16 1/2")]
[TestCase("Муфта НР 16 1/2")]
[TestCase("Соединение прямое с ниппелем")]
[TestCase("Переходник на резьбу 20 1/2")]
[TestCase("переходник наружная резьба 16 1/2")]
public void AdapterExternalTest(string name)
=> Execute(name, expectedGroup: "Переходник на наружную резьбу");
[TestCase("Переходник с внутренней резьбой 20-Rp 3/4 RX+")]
[TestCase("Переходник с внутр. резьбой 20 1/2")]
[TestCase("Переходник 16 1/2 ВР")]
[TestCase("ПВР 16")]
[TestCase("Переход ВР 16 1/2")]
[TestCase("Муфта ВР 16 1/2")]
public void AdapterInternalTest(string name)
=> Execute(name, expectedGroup: "Переходник на внутреннюю резьбу");
[TestCase("Переходник с накидной гайкой 16-G 1/2 RX+")]
[TestCase("Переходник с накидн. гайкой 16 1/2")]
[TestCase("Переходник 16 1/2 НГ")]
[TestCase("ПНГ 16")]
[TestCase("Переход НГ 16 1/2")]
[TestCase("Муфта НГ 16 1/2")]
[TestCase("штуцер с накидной гайкой")]
public void AdapterScrewcapTest(string name)
=> Execute(name, expectedGroup: "Переходник с накидной гайкой");
[TestCase("Угольник 16")]
[TestCase("Угольник 16 90")]
[TestCase("Угольник 50 45")]
public void ElbowTest(string name)
=> Execute(name, expectedGroup: "Угольник RAUTITAN");
}

View File

@ -0,0 +1,29 @@
namespace RhSolutions.ML.Tests;
public class RautitanPipesTests : RhSolutionsTests
{
[TestCase("Труба stabil 16")]
[TestCase("Труба stabil")]
public void StabilPipeTest(string name)
=> Execute(name, expectedGroup: "Stabil");
[TestCase("Труба flex 16")]
[TestCase("Труба flex")]
public void FlexPipeTest(string name)
=> Execute(name, expectedGroup: "Flex");
[TestCase("Труба pink 16")]
[TestCase("Труба pink")]
public void PinkPipeTest(string name)
=> Execute(name, expectedGroup: "Pink");
[TestCase("Труба black 16")]
[TestCase("Труба black")]
public void BlackPipeTest(string name)
=> Execute(name, expectedGroup: "Black");
[TestCase("Фиксирующий желоб 16")]
[TestCase("Желоб 16")]
public void SupportingClipTest(string name)
=> Execute(name, expectedGroup: "Желоб");
}

View File

@ -0,0 +1,27 @@
namespace RhSolutions.ML.Tests;
public abstract class RhSolutionsTests
{
protected static string _appPath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]) ?? ".";
protected static string _dataPath = Path.Combine(_appPath, "..", "..", "..", "..", "Models", "model.zip");
protected MLContext _mlContext;
protected PredictionEngine<Product, TypePrediction> _predEngine;
[SetUp]
public void Setup()
{
_mlContext = new MLContext(seed: 0);
ITransformer loadedNodel = _mlContext.Model.Load(_dataPath, out var _);
_predEngine = _mlContext.Model.CreatePredictionEngine<Product, TypePrediction>(loadedNodel);
}
public void Execute(string name, string expectedGroup)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo(expectedGroup));
}
}

View File

@ -1,210 +0,0 @@
namespace RhSolutions.ML.Tests;
public class Tests
{
private static string _appPath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]) ?? ".";
private static string _dataPath = Path.Combine(_appPath, "..", "..", "..", "..", "Models", "model.zip");
private MLContext _mlContext;
private PredictionEngine<Product, TypePrediction> _predEngine;
[SetUp]
public void Setup()
{
_mlContext = new MLContext(seed: 0);
ITransformer loadedNodel = _mlContext.Model.Load(_dataPath, out var _);
_predEngine = _mlContext.Model.CreatePredictionEngine<Product, TypePrediction>(loadedNodel);
}
[TestCase("Гильза 16")]
[TestCase("Пресс-втулка")]
public void SleevesTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Монтажная гильза"));
}
[TestCase("Тройник 20")]
[TestCase("Тройник 20-16-16")]
[TestCase("Тройник 20х20х20")]
[TestCase("Тройник 32*32*32")]
[TestCase("Тройник 50-50-32")]
[TestCase("Тройник, 40 - 20 - 40")]
[TestCase("Тройник, 50 - 32 - 50")]
public void TPieceTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Тройник RAUTITAN"));
}
[TestCase("Тройник 50/50/45")]
[TestCase("Тройник 50/50/45°")]
[TestCase("Тройник 50 50 45")]
public void WastePipeBranchTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Тройник RAUPIANO"));
}
[TestCase("Муфта соединительная равнопроходная 16 PX")]
[TestCase("Муфта соединительная переходная 25-16")]
[TestCase("Муфта 16")]
[TestCase("Переход 20-16")]
[TestCase("Переходник 20-16")]
public void CouplingTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Муфта соединительная"));
}
[TestCase("Переходник с наружной резьбой 20-R 3/4 RX+")]
[TestCase("Переходник с наружн. резьбой 20 1/2")]
[TestCase("Переходник 16 1/2 НР")]
[TestCase("ПНР 16")]
[TestCase("Переход НР 16 1/2")]
[TestCase("Муфта НР 16 1/2")]
[TestCase("Соединение прямое с ниппелем")]
public void AdapterExternalTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Переходник на наружную резьбу"));
}
[TestCase("Переходник с внутренней резьбой 20-Rp 3/4 RX+")]
[TestCase("Переходник с внутр. резьбой 20 1/2")]
[TestCase("Переходник 16 1/2 ВР")]
[TestCase("ПВР 16")]
[TestCase("Переход ВР 16 1/2")]
[TestCase("Муфта ВР 16 1/2")]
public void AdapterInternalTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Переходник на внутреннюю резьбу"));
}
[TestCase("Переходник с накидной гайкой 16-G 1/2 RX+")]
[TestCase("Переходник с накидн. гайкой 16 1/2")]
[TestCase("Переходник 16 1/2 НГ")]
[TestCase("ПНГ 16")]
[TestCase("Переход НГ 16 1/2")]
[TestCase("Муфта НГ 16 1/2")]
[TestCase("штуцер с накидной гайкой")]
public void AdapterScrewcapTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Переходник с накидной гайкой"));
}
[TestCase("Угольник 16")]
[TestCase("Угольник 16 90")]
[TestCase("Угольник 50 45")]
public void ElbowTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Угольник RAUTITAN"));
}
[TestCase("Труба stabil 16")]
[TestCase("Труба stabil")]
public void StabilPipeTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Stabil"));
}
[TestCase("Труба flex 16")]
[TestCase("Труба flex")]
public void FlexPipeTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Flex"));
}
[TestCase("Труба pink 16")]
[TestCase("Труба pink")]
public void PinkPipeTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Pink"));
}
[TestCase("Труба black 16")]
[TestCase("Труба black")]
public void BlackPipeTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Black"));
}
[TestCase("Фиксирующий желоб 16")]
[TestCase("Желоб 16")]
public void SupportingClipTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Желоб"));
}
[TestCase("Труба канализационная")]
[TestCase("Труба 110")]
[TestCase("Труба 110 500")]
public void WastePipeTest(string name)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo("Труба RAUPIANO"));
}
}