Пример #1
0
        public void GenerateXml_WithValidationLogNullObject()
        {
            var errorAggregator      = new ErrorAggregator <Exception>();
            var validationException1 = SetUpExceptionWithDummyStackTrace("test validation exception", new DefaultValidationLog());

            errorAggregator.AddException(validationException1);
            var remotionReflectorStub = MockRepository.GenerateStub <IRemotionReflector>();
            var reportGenerator       = new ValidationErrorReportGenerator(errorAggregator, remotionReflectorStub);

            remotionReflectorStub.Stub(_ => _.GetValidationLogFromValidationException(null)).IgnoreArguments()
            .Return(new ReflectedObject(new ValidationLogNullObject()));

            var output = reportGenerator.GenerateXml();

            var validationExceptionElement = new RecursiveExceptionReportGenerator(validationException1).GenerateXml();

            validationExceptionElement.Add(
                new XElement(
                    "ValidationLog",
                    new XAttribute("number-of-rules-executed", 0),
                    new XAttribute("number-of-failures", 0),
                    new XAttribute("number-of-unexpected-exceptions", 0),
                    new XAttribute("number-of-warnings", 0),
                    new XAttribute("number-of-successes", 0)));

            var expectedOutput = new XElement("ValidationErrors", validationExceptionElement);

            Assert.That(output.ToString(), Is.EqualTo(expectedOutput.ToString()));
        }
Пример #2
0
        public void GenerateXml_WithErrors()
        {
            var errorAggregator      = new ErrorAggregator <Exception>();
            var validationException1 = SetUpExceptionWithDummyStackTrace("test validation exception", new DefaultValidationLog());

            errorAggregator.AddException(validationException1);
            var reportGenerator = new ValidationErrorReportGenerator(errorAggregator, Helpers.RemotionReflectorFactory.GetRemotionReflection());

            var output = reportGenerator.GenerateXml();

            var validationExceptionElement = new RecursiveExceptionReportGenerator(validationException1).GenerateXml();

            validationExceptionElement.Add(
                new XElement("ValidationLog",
                             new XAttribute("number-of-rules-executed", validationException1.ValidationLog.GetNumberOfRulesExecuted()),
                             new XAttribute("number-of-failures", validationException1.ValidationLog.GetNumberOfFailures()),
                             new XAttribute("number-of-unexpected-exceptions", validationException1.ValidationLog.GetNumberOfUnexpectedExceptions()),
                             new XAttribute("number-of-warnings", validationException1.ValidationLog.GetNumberOfWarnings()),
                             new XAttribute("number-of-successes", validationException1.ValidationLog.GetNumberOfSuccesses())
                             ));

            var expectedOutput = new XElement("ValidationErrors", validationExceptionElement);

            Assert.That(output.ToString(), Is.EqualTo(expectedOutput.ToString()));
        }
Пример #3
0
        public void GenerateXml_ForExceptionWithoutInnerException()
        {
            var exception = SetUpExceptionWithDummyStackTrace("plain exception", null);

            var reportGenerator = new RecursiveExceptionReportGenerator(exception);
            var output          = reportGenerator.GenerateXml();

            var expectedOutput = new XElement(
                "Exception",
                new XAttribute("type", exception.GetType()),
                new XElement("Message", new XCData(exception.Message)),
                new XElement("StackTrace", new XCData(exception.StackTrace))
                );

            Assert.That(output.ToString(), Is.EqualTo(expectedOutput.ToString()));
        }