public SortResults Estimate(EnumArraySortAlgorithms sortAlgorithm, EnumArrayDataProviders searchDataProvider) { var _sort = GetSort(sortAlgorithm); var _searchData = new DataProvidersFactory(SampleSize).GetProvider(searchDataProvider); return(_sort.Sort(_searchData.Data)); }
private static ISort GetSort(EnumArraySortAlgorithms sortAlgorithm) { return(sortAlgorithm switch { EnumArraySortAlgorithms.Insertion => new InsertionSort(), EnumArraySortAlgorithms.Selection => new SelectionSort(), EnumArraySortAlgorithms.Bubble => new BubbleSort(), EnumArraySortAlgorithms.Heap => new HeapSort(), EnumArraySortAlgorithms.Merge => new MergeSort(), EnumArraySortAlgorithms.Quick => new QuickSort(), _ => throw new NotImplementedException("Unknown algorithm '" + nameof(sortAlgorithm) + "'"), });