public void CorrectClosestHistogramTest() { var histogramService = new HistogramSorterService(); var histogram1 = new ColorHistogram( "randomId1", new List <double> { 0.1 }, new List <double> { 0.1, 0.2 }, new List <double> { 0.1, 0.2, 0.3 } ); var histogram2 = new ColorHistogram( "randomId2", new List <double> { 0.1 }, new List <double> { 0.1, 0.2 }, new List <double> { 0.1, 0.2, 0.2 } ); var histogram3 = new ColorHistogram( "randomId3", new List <double> { 0.1 }, new List <double> { 0.1, 0.1 }, new List <double> { 0.1, 0.2, 0.4 } ); var selectedHistograms = new List <ColorHistogram> { histogram1, histogram2, histogram3 }; var comparisonMap = histogramService.CreateHistogramComparisonMap(selectedHistograms); selectedHistograms.RemoveAt(0); var closestIndex = histogramService.FindTheClosestHistogramIndex( "randomId1", selectedHistograms, comparisonMap ); Assert.True(closestIndex == 0); }
public void CorrectSortTest() { var histogramService = new HistogramSorterService(); var histogram1 = new ColorHistogram( "randomId1", new List <double> { 0.1 }, new List <double> { 0.1, 0.2 }, new List <double> { 0.1, 0.2, 0.3 } ); var histogram2 = new ColorHistogram( "randomId2", new List <double> { 0.1 }, new List <double> { 0.1, 0.2 }, new List <double> { 0.1, 0.2, 0.2 } ); var histogram3 = new ColorHistogram( "randomId3", new List <double> { 0.1 }, new List <double> { 0.1, 0.1 }, new List <double> { 0.1, 0.2, 0.4 } ); var histogram4 = new ColorHistogram( "randomId4", new List <double> { 0.2 }, new List <double> { 0.2, 0.1 }, new List <double> { 0.1, 0.2, 0.3 } ); var selectedHistograms = new List <ColorHistogram> { histogram1, histogram2, histogram3, histogram4 }; var comparisonMap = histogramService.CreateHistogramComparisonMap(selectedHistograms); var sortedHistograms = histogramService.SortSelectedHistograms( 2, 2, comparisonMap, selectedHistograms ); Assert.True(true); }
public void CorrectComparisonMapTest() { var histogramService = new HistogramSorterService(); var histogram1 = new ColorHistogram( "randomId1", new List <double> { 0.1 }, new List <double> { 0.1, 0.2 }, new List <double> { 0.1, 0.2, 0.3 } ); var histogram2 = new ColorHistogram( "randomId2", new List <double> { 0.1 }, new List <double> { 0.1, 0.2 }, new List <double> { 0.1, 0.2, 0.2 } ); var histogram3 = new ColorHistogram( "randomId3", new List <double> { 0.1 }, new List <double> { 0.1, 0.1 }, new List <double> { 0.1, 0.2, 0.4 } ); var selectedHistograms = new List <ColorHistogram> { histogram1, histogram2, histogram3 }; var comparisonMap = histogramService.CreateHistogramComparisonMap(selectedHistograms); Assert.True(comparisonMap.Count == 6); Assert.True( comparisonMap[new HistogramComparisonKeys("randomId1", "randomId2")] - Math.Pow(0.1, 2) < 0.001 ); Assert.True( comparisonMap[new HistogramComparisonKeys("randomId2", "randomId1")] - Math.Pow(0.1, 2) < 0.001 ); Assert.True( comparisonMap[new HistogramComparisonKeys("randomId1", "randomId3")] - 2 * Math.Pow(0.1, 2) < 0.001 ); Assert.True( comparisonMap[new HistogramComparisonKeys("randomId3", "randomId1")] - 2 * Math.Pow(0.1, 2) < 0.001 ); Assert.True( comparisonMap[new HistogramComparisonKeys("randomId2", "randomId3")] - (Math.Pow(0.1, 2) + Math.Pow(0.2, 2)) < 0.001 ); Assert.True( comparisonMap[new HistogramComparisonKeys("randomId3", "randomId2")] - (Math.Pow(0.1, 2) + Math.Pow(0.2, 2)) < 0.001 ); }