static void TestCore(TagsGroup[] groups, TagsGroup etalon, string testName) { var dummyResult = GetDummyResult(groups, etalon); SimilarTagsCalculator calculator = new SimilarTagsCalculator(groups); TestCoreCore(dummyResult, calculator.GetFiftyMostSimilarGroupsMultiThread(etalon)); // TestCoreCore(dummyResult, calculator.GetFiftyMostSimilarGroups(etalon)); // TestCoreCore(dummyResult, calculator.GetFiftyMostSimilarGroupsSortedSet(etalon)); // TestCoreCore(dummyResult, calculator.GetFiftyMostSimilarGroupsHeap(etalon)); // TestCoreCore(dummyResult, calculator.GetFiftyMostSimilarGroupsCount(etalon)); Console.WriteLine($"{testName} passed!"); }
public TagsGroup[] AscendantTest() { switch (SortingAlgorithm) { case SortingAlgorithm.List: return(ascendantCalculator.GetFiftyMostSimilarGroups(allTagsTrue)); case SortingAlgorithm.SortedSet: return(ascendantCalculator.GetFiftyMostSimilarGroupsSortedSet(allTagsTrue)); case SortingAlgorithm.Heap: return(ascendantCalculator.GetFiftyMostSimilarGroupsHeap(allTagsTrue)); case SortingAlgorithm.Count: return(ascendantCalculator.GetFiftyMostSimilarGroupsCount(allTagsTrue)); case SortingAlgorithm.MultiThread: return(ascendantCalculator.GetFiftyMostSimilarGroupsMultiThread(allTagsTrue)); default: throw new ArgumentOutOfRangeException(); } }
public TagsGroup[] RandomTest() { switch (SortingAlgorithm) { case SortingAlgorithm.List: return(randomCalculator.GetFiftyMostSimilarGroups(randomValue)); case SortingAlgorithm.SortedSet: return(randomCalculator.GetFiftyMostSimilarGroupsSortedSet(randomValue)); case SortingAlgorithm.Heap: return(randomCalculator.GetFiftyMostSimilarGroupsHeap(randomValue)); case SortingAlgorithm.Count: return(randomCalculator.GetFiftyMostSimilarGroupsCount(randomValue)); case SortingAlgorithm.MultiThread: return(randomCalculator.GetFiftyMostSimilarGroupsMultiThread(randomValue)); default: throw new ArgumentOutOfRangeException(); } }