0
0
RhSolutions-ML/RhSolutions.ML.Tests/RhSolutionsTests.cs

29 lines
903 B
C#
Raw Normal View History

2023-12-29 00:05:17 +03:00
using RhSolutions.ML.Lib;
2023-10-03 21:43:15 +03:00
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;
2023-12-29 00:05:17 +03:00
public RhSolutionsTests()
2023-10-03 21:43:15 +03:00
{
2023-12-29 00:05:17 +03:00
RhSolutionsMLBuilder.RebuildModel();
2023-10-03 21:43:15 +03:00
_mlContext = new MLContext(seed: 0);
ITransformer loadedNodel = _mlContext.Model.Load(_dataPath, out var _);
2023-12-29 00:05:17 +03:00
_predEngine = _mlContext.Model.CreatePredictionEngine<Product, TypePrediction>(loadedNodel);
2023-10-03 21:43:15 +03:00
}
public void Execute(string name, string expectedGroup)
{
Product p = new()
{
Name = name
};
var prediction = _predEngine.Predict(p);
Assert.That(prediction.Type, Is.EqualTo(expectedGroup));
2023-12-29 00:05:17 +03:00
}
2023-10-03 21:43:15 +03:00
}