Ejemplo n.º 1
0
        public void NullRefExeptionTest()
        {
            var child1  = Substitute.For <IExecutableStep>();
            var result  = Substitute.For <ITestResult>();
            var result2 = Substitute.For <ITestResult>();

            result.Result.Returns(ResulType.Warning);
            result2.Result.Returns(ResulType.Failed);

            child1.Execuite().Returns(result);

            var child2 = Substitute.For <IExecutableStep>();

            child2.Execuite().Returns(result2);

            child1.FindExecutableStepById(Arg.Any <string>()).ReturnsNull();
            child2.FindExecutableStepById(Arg.Any <string>()).ReturnsNull();
            child1.TryGetStepById(Arg.Any <string>()).ReturnsNull();
            child2.TryGetStepById(Arg.Any <string>()).ReturnsNull();

            child1.GetValidateException().Returns(new AggregateException());
            child2.GetValidateException().Returns(new AggregateException());

            var rst = new RootStep("root");

            rst.TryAddChild(child1);
            rst.TryAddChild(child2);

            child2.GetValidateException().Returns(new AggregateException(new Exception()));
            var aggregate = rst.GetValidateException();

            aggregate.InnerExceptions.Count.ShouldBeEquivalentTo(1);
        }