Exemplo n.º 1
0
        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!");
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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();
            }
        }