summaryrefslogtreecommitdiff
path: root/RhSolutions.ML.Tests/Tests.cs
blob: e7329ce05ee61af290098aee021a370580e1ffd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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")]
	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°")]
	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("Муфта 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("Переходник 16 1/2 НР")]
	[TestCase("ПНР 16")]
	[TestCase("Переход НР 16 1/2")]
	[TestCase("Муфта НР 16 1/2")]
	public void AdapterExternalTest(string name)
	{
		Product p = new()
		{
			Name = name
		};
		var prediction = _predEngine.Predict(p);
		Assert.That(prediction.Type, Is.EqualTo("Переходник на наружную резьбу"));		
	}
	
	[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("Труба канализационная")]
	[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"));		
	}
}