public void EvaluateStoredTasks_OneTask_TenIteration()
{
// Arrange
var shark = new BenchShark { EnableUnoptimizedEvaluations = true };
const string name = "Foo";
// Act
shark.AddTask(name, TaskToEvaluate1);
var allResults = shark.EvaluateStoredTasks(10);
var result = allResults.Evaluations.First();
// Assert collection
Assert.AreEqual(1, allResults.Evaluations.Count());
CollectionAssert.AreEqual(allResults.FastestEvaluations.ToArray(), allResults.SlowestEvaluations.ToArray());
// Assert evaluation
Assert.IsTrue(result.AverageElapsedTicks < result.TotalElapsedTicks);
Assert.IsTrue(result.AverageExecutionTime < result.TotalExecutionTime);
Assert.AreEqual(10, result.IterationsCount);
Assert.AreEqual(name, result.Name);
Assert.IsTrue(result.WorstExecutionTime > result.BestExecutionTime);
Assert.IsTrue(result.WorstElapsedTicks > result.BestElapsedTicks);
}