Aggregates results by provided group key using Func<TestContextResult, object>()
Inheritance: IResultsAggregator
 /// <summary>
 /// Groups results by test execution time in provided [aggregationTimeInterval] time periods
 /// </summary>
 /// <param name="aggregationTimeInterval">Time interval to group results by</param>
 public TimeHistogramResultsAggregator(TimeSpan aggregationTimeInterval)
 {
     _histogramResultsAggregator = new HistogramResultsAggregator(result => GroupByCalculatorFunction(result))
     {
         AggregationTimePeriod = aggregationTimeInterval
     };
 }
 /// <summary>
 /// Groups results by test execution time in provided [aggregationTimeInterval] time periods
 /// </summary>
 /// <param name="aggregationTimeInterval">Time interval to group results by</param>
 public TimeHistogramResultsAggregator(TimeSpan aggregationTimeInterval)
 {
     _histogramResultsAggregator = new HistogramResultsAggregator(result => GroupByCalculatorFunction(result))
     {
         AggregationTimePeriod = aggregationTimeInterval
     };
 }
        /// <summary>
        /// Groups results by provided aggregation function (which will receive key used by TimeAggregation)
        /// And it gives full ability to postprocess GroupByKey before returning it.
        /// </summary>
        /// <param name="aggregationTimeInterval">Time interval to group results by</param>
        /// <param name="groupByKeyCalculatorFunction">GroupBy function Func&lt;TestContextResult, TimeAggregationSlotTicks, GroupByKey&gt;</param>
        public TimeHistogramResultsAggregator(TimeSpan aggregationTimeInterval, Func <IResult, long, object> groupByKeyCalculatorFunction)
        {
            Func <IResult, object> groupByFunction = result => groupByKeyCalculatorFunction(result, GroupByCalculatorFunction(result));

            _histogramResultsAggregator = new HistogramResultsAggregator(groupByFunction)
            {
                AggregationTimePeriod = aggregationTimeInterval
            };
        }
        /// <summary>
        /// Groups results by provided aggregation function (which will receive key used by TimeAggregation)
        /// And it gives full ability to postprocess GroupByKey before returning it.
        /// </summary>
        /// <param name="aggregationTimeInterval">Time interval to group results by</param>
        /// <param name="groupByKeyCalculatorFunction">GroupBy function Func&lt;TestContextResult, TimeAggregationSlotTicks, GroupByKey&gt;</param>
        public TimeHistogramResultsAggregator(TimeSpan aggregationTimeInterval, Func<IResult, long, object> groupByKeyCalculatorFunction)
        {
            Func<IResult, object> groupByFunction = result => groupByKeyCalculatorFunction(result, GroupByCalculatorFunction(result));

            _histogramResultsAggregator = new HistogramResultsAggregator(groupByFunction)
            {
                AggregationTimePeriod = aggregationTimeInterval
            };
        }
        /// <summary>
        /// Groups results by test execution time and secondary aggregation function
        /// </summary>
        /// <param name="aggregationTimeInterval">Time interval to group results by</param>
        /// <param name="subGroupByKeyCalculatorFunction">Secondary aggregation function</param>
        public TimeHistogramResultsAggregator(TimeSpan aggregationTimeInterval, Func <IResult, string> subGroupByKeyCalculatorFunction)
        {
            Func <IResult, object> groupByFunction =
                result =>
                string.Concat(GroupByCalculatorFunction(result).ToString(), " ", subGroupByKeyCalculatorFunction(result));

            _histogramResultsAggregator = new HistogramResultsAggregator(groupByFunction)
            {
                AggregationTimePeriod = aggregationTimeInterval
            };
        }
        /// <summary>
        /// Groups results by test execution time and secondary aggregation function
        /// </summary>
        /// <param name="aggregationTimeInterval">Time interval to group results by</param>
        /// <param name="subGroupByKeyCalculatorFunction">Secondary aggregation function</param>
        public TimeHistogramResultsAggregator(TimeSpan aggregationTimeInterval, Func<IResult, string> subGroupByKeyCalculatorFunction)
        {
            Func<IResult, object> groupByFunction =
                result =>
                    string.Concat(GroupByCalculatorFunction(result).ToString(), " ", subGroupByKeyCalculatorFunction(result));

            _histogramResultsAggregator = new HistogramResultsAggregator(groupByFunction)
            {
                AggregationTimePeriod = aggregationTimeInterval
            };
        }