// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var configService = new GlobalConfigService(); var globalConfig = configService.LoadConfig(Configuration); var userSessionsManager = new UserSessionsManager(); var labelsService = new LabelSorterService(); var histogramService = new HistogramSorterService(); var imageLabelsPath = Configuration["FilePaths:ImageLabelsPath"]; var colorHistogramsPath = Configuration["FilePaths:ColorHistogramFiles"]; var imageLabelsWrapper = new LoadedImageLabelsWrapper(labelsService.ParseLabels(imageLabelsPath)); var histogramsWrapper = new LoadedHistogramsWrapper(histogramService.ParseHistograms(colorHistogramsPath)); services.AddSingleton(globalConfig); services.AddSingleton(configService); services.AddSingleton(userSessionsManager); services.AddSingleton(labelsService); services.AddSingleton(histogramService); services.AddSingleton(imageLabelsWrapper); services.AddSingleton(histogramsWrapper); services.AddRazorPages(); }
public ImagePresentation( GlobalConfig globalConfig, UserSessionsManager userSessionsManager, LoadedImageLabelsWrapper imageLabelsWrapper, LoadedHistogramsWrapper histogramsWrapper, LabelSorterService labelSorterService, HistogramSorterService histogramSorterService ) { _globalConfig = globalConfig; _userSessionsManager = userSessionsManager; _imageLabelsWrapper = imageLabelsWrapper; _histogramsWrapper = histogramsWrapper; _labelSorterService = labelSorterService; _histogramSorterService = histogramSorterService; }
public void CorrectParseLabelsTest() { var labelService = new LabelSorterService(); // Get the directory in which the test files are contained. var pathToHistogramFiles = $"{Directory.GetCurrentDirectory()}/../../../{TestFilesFolder}"; var parseOutput = labelService.ParseLabels(pathToHistogramFiles); var testFileNames = Directory .GetFiles(pathToHistogramFiles) .Select(Path.GetFileNameWithoutExtension) .ToList(); var imageIds = parseOutput .Select(imageLabels => imageLabels.ImageId) .ToList(); Assert.True(testFileNames.Count == NumberOfHistogramsInTestFolder); Assert.True(testFileNames.Count == parseOutput.Count); foreach (var testFileName in testFileNames) { Assert.Contains(testFileName, imageIds); } try { var testImageLabels = parseOutput.Find(imageLabels => imageLabels.ImageId == TestImageId); Assert.True(testImageLabels?.LabelValues.Count == NumberOfTestLabels); } catch (NullReferenceException) { Assert.True(false); } catch (Exception) { Assert.True(false); } }
public void CorrectGetTopNTest() { var labelSorterService = new LabelSorterService(); var labelValues = new Dictionary <string, double> { ["car"] = 0.1, ["dark"] = 0.2, ["wheel"] = 0.3, ["sky"] = 0.4 }; var imageLabels = new ImageLabels( "randomId1", labelValues ); var top2LabelValues = labelSorterService.GetTopNLabels(2, imageLabels); Assert.True(top2LabelValues.Count == 2); Assert.True(top2LabelValues[0] == "sky"); Assert.True(top2LabelValues[1] == "wheel"); }