Ejemplo n.º 1
0
        private static void AssertCore(int retryCount, string prefix, ComposablePartException error, CompositionErrorExpectation expectation)
        {
            if (expectation.ElementSpecified)
            {
                AssertCore(retryCount, prefix, "Element", expectation.Element, error.Element);
            }

            if (expectation.InnerExceptionSpecified)
            {
                AssertCore(retryCount, prefix, "InnerException", expectation.InnerException, error.InnerException);
            }

            if (expectation.InnerExceptionTypeSpecified)
            {
                AssertCore(retryCount, prefix, "InnerException.GetType()", expectation.InnerExceptionType, error.InnerException == null ? null : error.InnerException.GetType());
            }

            if (expectation.InnerExpectationsSpecified)
            {
                var innerError = error.InnerException as ComposablePartException;
                if (innerError != null)
                {
                    Assert.AreEqual(1, expectation.InnerExpectations.Length);
                    AssertCore(retryCount, prefix + ".InnerException", innerError, expectation.InnerExpectations[0]);
                }
                else
                {
                    AssertCore(retryCount, prefix + ".InnerException", (CompositionException)error.InnerException, expectation.InnerExpectations);
                }
            }
        }
        public void Constructor8_ValueAsElementArgument_ShouldSetElementProperty()
        {
            var expectations = Expectations.GetCompositionElements();

            foreach (var e in expectations)
            {
                var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", (ICompositionElement)e);

                Assert.AreSame(e, exception.Element);
            }
        }
        public void Constructor7_ValueAsMessageArgument_ShouldSetMessageProperty()
        {
            var expectations = Expectations.GetExceptionMessages();

            foreach (var e in expectations)
            {
                var exception = new ComposablePartException(CompositionErrorId.Unknown, e, new Exception());

                Assert.AreEqual(e, exception.Message);
            }
        }
        public void Constructor9_ValueAsInnerExceptionArgument_ShouldSetInnerExceptionProperty()
        {
            var expectations = Expectations.GetInnerExceptions();

            foreach (var e in expectations)
            {
                var exception = new ComposablePartException("Message", ElementFactory.Create(), e);

                Assert.Same(e, exception.InnerException);
            }
        }
        public void Constructor7_ValueAsInnerExceptionArgument_ShouldSetInnerExceptionProperty()
        {
            var expectations = Expectations.GetInnerExceptions();

            foreach (var e in expectations)
            {
                var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", e);

                Assert.AreSame(e, exception.InnerException);
            }
        }
        public void Constructor9_ValueAsElementArgument_ShouldSetElementProperty()
        {
            var expectations = Expectations.GetCompositionElements();

            foreach (var e in expectations)
            {
                var exception = new ComposablePartException("Message", (ICompositionElement)e, new Exception());

                Assert.Same(e, exception.Element);
            }
        }
        public void Constructor3_ValueAsMessageArgument_ShouldSetMessageProperty()
        {
            var expectations = Expectations.GetExceptionMessages();

            foreach (var e in expectations)
            {
                var exception = new ComposablePartException(e, ElementFactory.Create());

                Assert.Equal(e, exception.Message);
            }
        }
Ejemplo n.º 8
0
        private static ErrorId GetRootErrorId(object error)
        {
            //
            // Get the InnerException from the error object
            // Can be one of two types currently a ComposablePartException or a CompostionError
            // Done this clunky way to avoid shipping dead code to retrieve it from ICompositionException
            //
            Exception exception = null;

            if (error is ComposablePartException)
            {
                exception = ((ComposablePartException)error).InnerException;
            }
            else if (error is CompositionException)
            {
                exception = ((CompositionException)error).InnerException;
            }
            else
            {
                Assert.Fail("Unexpected type passed as error");
            }

            ComposablePartException composablePartException = exception as ComposablePartException;

            if (composablePartException != null)
            {
                return(GetRootErrorId(composablePartException));
            }

            CompositionException composition = exception as CompositionException;

            if (composition != null)
            {
                return(GetRootErrorId(composition));
            }

            Assert.Fail("Unexpected type passed as innerexception");
            return(ErrorId.Unknown);
        }
Ejemplo n.º 9
0
        private static ErrorId GetRootErrorId(object error)
        {
            //
            // Get the InnerException from the error object
            // Can be one of two types currently a ComposablePartException or a CompositionError
            // Done this clunky way to avoid shipping dead code to retrieve it from ICompositionException
            //
            Exception exception = null;

            if (error is ComposablePartException)
            {
                exception = ((ComposablePartException)error).InnerException;
            }
            else if (error is CompositionException)
            {
                exception = ((CompositionException)error).InnerException;
            }
            else
            {
                throw new NotImplementedException();
            }

            ComposablePartException composablePartException = exception as ComposablePartException;

            if (composablePartException != null)
            {
                return(GetRootErrorId(composablePartException));
            }

            CompositionException composition = exception as CompositionException;

            if (composition != null)
            {
                return(GetRootErrorId(composition));
            }

            throw new NotImplementedException();
        }
        public void Constructor9_NullAsMessageArgument_ShouldSetMessagePropertyToDefault()
        {
            var exception = new ComposablePartException((string)null, ElementFactory.Create(), new Exception());

            ExceptionAssert.HasDefaultMessage(exception);
        }
        public void Constructor8_ShouldSetInnerExceptionPropertyToNull()
        {
            var exception = new ComposablePartException("Message", ElementFactory.Create());

            Assert.IsNull(exception.InnerException);
        }
        public void Constructor6_ShouldSetInnerExceptionPropertyToNull()
        {
            var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message");

            Assert.IsNull(exception.InnerException);
        }
        public void Constructor6_NullAsMessageArgument_ShouldSetMessagePropertyToDefault()
        {
            var exception = new ComposablePartException((string)null);

            ExceptionAssert.HasDefaultMessage(exception);
        }
        public void Constructor7_ShouldSetElementPropertyToNull()
        {
            var exception = new ComposablePartException("Message", new Exception());

            Assert.Null(exception.Element);
        }
        public void Constructor9_NullAsElementArgument_ShouldSetElementPropertyToNull()
        {
            var exception = new ComposablePartException("Message", (ICompositionElement)null, new Exception());

            Assert.Null(exception.Element);
        }
        public void Constructor9_NullAsInnerExceptionArgument_ShouldSetInnerExceptionPropertyToNull()
        {
            var exception = new ComposablePartException("Message", ElementFactory.Create(), (Exception)null);

            Assert.Null(exception.InnerException);
        }
        public void Constructor7_ShouldSetElementPropertyToNull()
        {
            var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", new Exception());

            Assert.IsNull(exception.Element);
        }
        public void Constructor1_ShouldSetMessagePropertyToDefault()
        {
            var exception = new ComposablePartException();

            ExceptionAssert.HasDefaultMessage(exception);
        }
        public void Constructor6_ShouldSetInnerExceptionPropertyToNull()
        {
            var exception = new ComposablePartException("Message");

            Assert.Null(exception.InnerException);
        }
        public void Constructor1_ShouldSetElementPropertyToNull()
        {
            var exception = new ComposablePartException();

            Assert.IsNull(exception.Element);
        }
        public void Constructor8_NullAsElementArgument_ShouldSetElementPropertyToNull()
        {
            var exception = new ComposablePartException(CompositionErrorId.Unknown, "Message", (ICompositionElement)null);

            Assert.IsNull(exception.Element);
        }
        public void Constructor7_NullAsInnerExceptionArgument_ShouldSetInnerExceptionPropertyToNull()
        {
            var exception = new ComposablePartException("Message", (Exception)null);

            Assert.IsNull(exception.InnerException);
        }
        public void Constructor1_ShouldSetInnerExceptionPropertyToNull()
        {
            var exception = new ComposablePartException();

            Assert.IsNull(exception.InnerException);
        }
        public void Constructor7_NullAsMessageArgument_ShouldSetMessagePropertyToDefault()
        {
            var exception = new ComposablePartException(CompositionErrorId.Unknown, (string)null, new Exception());

            ExceptionAssert.HasDefaultMessage(exception);
        }