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