public ResultItemRow(string name, ResultItemRow copyStatsFrom) { _errors = copyStatsFrom._errors; Count = copyStatsFrom.Count; Name = name; MomentMin = copyStatsFrom.MomentMin; MomentMax = copyStatsFrom.MomentMax; MomentAvg = copyStatsFrom.MomentAvg; SummedMin = copyStatsFrom.SummedMin; SummedMax = copyStatsFrom.SummedMax; SummedAvg = copyStatsFrom.SummedAvg; SuccessIterationsPerSec = copyStatsFrom.SuccessIterationsPerSec; }
public IEnumerable <ResultItemRow> Map(TestContextResultAggregate results, bool includeAllCheckpoints = false, TimeSpan?aggregationTimeSpan = null) { IEnumerable <string> resultsOrder = _orderLearner.LearnedOrder; List <CheckpointAggregate> orderedResults = resultsOrder .Where(results.CheckpointAggregates.ContainsKey) .Select(checkpointName => results.CheckpointAggregates[checkpointName]).ToList(); if (includeAllCheckpoints) { yield return (new ResultItemRow(results, results.CheckpointAggregates[Checkpoint.IterationSetupCheckpointName], aggregationTimeSpan)); } int iterationCount = 0; if (results.CheckpointAggregates.ContainsKey(Checkpoint.IterationEndCheckpointName)) { foreach (CheckpointAggregate resultItem in orderedResults.GetRange(2, orderedResults.Count - 3)) { var resultItemRow = new ResultItemRow(results, resultItem, aggregationTimeSpan); resultItemRow.SetErrors(orderedResults[1 + iterationCount].Errors); iterationCount++; yield return(resultItemRow); } } else if ( results.CheckpointAggregates.ContainsKey(Checkpoint.IterationStartCheckpointName) && results.CheckpointAggregates.ContainsKey(Checkpoint.IterationEndCheckpointName) == false ) { foreach (CheckpointAggregate resultItem in orderedResults.GetRange(2, orderedResults.Count - 3)) { var resultItemRow = new ResultItemRow(results, resultItem, aggregationTimeSpan); resultItemRow.SetErrors(orderedResults[1 + iterationCount].Errors); iterationCount++; yield return(resultItemRow); } ResultItemRow iterationEndRow = new ResultItemRow( Checkpoint.IterationEndCheckpointName, new ResultItemRow(results, orderedResults[orderedResults.Count - 2]) ) { Count = 0, SuccessIterationsPerSec = 0 }; yield return(iterationEndRow); } if (includeAllCheckpoints) { yield return (new ResultItemRow(results, results.CheckpointAggregates[Checkpoint.IterationTearDownCheckpointName])); } }