BenchSharkTests.StorageEvaluation.EvaluateStoredTasks_TwoTasks_TenIteration_WithEvaluationEvent C# (CSharp) Method

EvaluateStoredTasks_TwoTasks_TenIteration_WithEvaluationEvent() private method

        public void EvaluateStoredTasks_TwoTasks_TenIteration_WithEvaluationEvent()
        {
            // Arrange
            var shark = new BenchShark { EnableUnoptimizedEvaluations = true };
            var names = new[] { "Foo", "Bar" };
            var counter = 0;

            shark.EvaluationCompleted += (sender, args) =>
            {
                Assert.AreEqual(names[counter], args.TaskEvaluated.Name);
                Assert.IsTrue(args.TaskEvaluated.AverageElapsedTicks < args.TaskEvaluated.TotalElapsedTicks);
                Assert.IsTrue(args.TaskEvaluated.AverageExecutionTime < args.TaskEvaluated.TotalExecutionTime);
                Assert.AreEqual(10, args.TaskEvaluated.IterationsCount);
                Assert.IsTrue(args.TaskEvaluated.WorstExecutionTime > args.TaskEvaluated.BestExecutionTime);
                Assert.IsTrue(args.TaskEvaluated.WorstElapsedTicks > args.TaskEvaluated.BestElapsedTicks);
                counter++;
            };

            // Act
            shark.AddTask(names[0], TaskToEvaluate1);
            shark.AddTask(names[1], TaskToEvaluate2);
            shark.EvaluateStoredTasks(10);

            // Assert
            Assert.AreEqual(2, counter);
        }