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) + "'"),
     });