public void TestRunChainedWithFailures()
{
TaskRunner runner = new TaskRunner();
runner.RunChained("Test0", "OK!!!", x =>
{
TaskRunner runner2 = new TaskRunner();
runner.Run("Test1", "OK", y => y.FailUnless(2 + 2 != 4, "Erro"));
runner.Run("Test2", "OK", y => y.FailUnless(false, "Erro"));
runner.Run("Test3", "OK", y => y.FailUnless(!true, "Erro"));
return(runner2.Results);
});
runner.Results.Count(x => x.ResultType == TaskRunner.Result.Type.Failure).Should().Be(3);
runner.Results.Count(x => x.ResultTypeTag == "failure").Should().Be(3);
runner.Results.Count(x => x.Message == "Erro").Should().Be(3);
runner.Results.Count(x => x.ResultType == TaskRunner.Result.Type.Success).Should().Be(1);
runner.Results.Count(x => x.ResultTypeTag == "success").Should().Be(1);
runner.Results.Count(x => x.Message == "OK!!!").Should().Be(1);
runner.Results.Count().Should().Be(4);
runner.Results.Count(x => x.Description == "Test0").Should().Be(1);
runner.Results.Count(x => x.Description == "Test1").Should().Be(1);
runner.Results.Count(x => x.Description == "Test2").Should().Be(1);
runner.Results.Count(x => x.Description == "Test3").Should().Be(1);
}