コード例 #1
0
        public void Constructor10_NullAsInfoArgument_ShouldThrowArgumentNull()
        {
            var context = new StreamingContext();

            ExceptionAssert.ThrowsArgument <ArgumentNullException>("info", () =>
            {
                SerializationTestServices.Create <ComposablePartException>((SerializationInfo)null, context);
            });
        }
コード例 #2
0
        public void Constructor4_NullAsInfoArgument_ShouldThrowArgumentNull()
        {
            var context = new StreamingContext();

            ExceptionAssert.ThrowsArgument <ArgumentNullException>("info", () =>
            {
                SerializationTestServices.Create <ImportCardinalityMismatchException>((SerializationInfo)null, context);
            });
        }
コード例 #3
0
        public void Constructor10_SerializationInfoWithWrongTypeForElementEntryAsInfoArgument_ShouldThrowInvalidCast()
        {
            var info    = SerializationTestServices.CreateSerializationInfoReplacingMember <ComposablePartException>("Element", 10);
            var context = new StreamingContext();

            ExceptionAssert.Throws <InvalidCastException>(() =>
            {
                SerializationTestServices.Create <ComposablePartException>(info, context);
            });
        }
コード例 #4
0
        public void Constructor10_SerializationInfoWithMissingElementEntryAsInfoArgument_ShouldThrowSerialization()
        {
            var info    = SerializationTestServices.CreateSerializationInfoRemovingMember <ComposablePartException>("Element");
            var context = new StreamingContext();

            ExceptionAssert.ThrowsSerialization("Element", () =>
            {
                SerializationTestServices.Create <ComposablePartException>(info, context);
            });
        }
コード例 #5
0
        public void Message_CanBeSerialized()
        {
            var expectations = Expectations.GetExceptionMessages();

            foreach (var e in expectations)
            {
                var exception = CreateComposablePartException(e);

                var result = SerializationTestServices.RoundTrip(exception);

                Assert.AreEqual(exception.Message, result.Message);
            }
        }
コード例 #6
0
        public void InnerException_CanBeSerialized()
        {
            var expectations = Expectations.GetInnerExceptions();

            foreach (var e in expectations)
            {
                var exception = CreateComposablePartException(e);

                var result = SerializationTestServices.RoundTrip(exception);

                ExtendedAssert.IsInstanceOfSameType(exception.InnerException, result.InnerException);
            }
        }
コード例 #7
0
        public void Element_CanBeSerialized()
        {
            var expectations = Expectations.GetCompositionElementsWithNull();

            foreach (var e in expectations)
            {
                var exception = CreateComposablePartException(e);

                var result = SerializationTestServices.RoundTrip(exception);

                ElementAssert.AreEqual(exception.Element, result.Element);
            }
        }
コード例 #8
0
        public void Id_CanBeSerialized()
        {
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

            foreach (var e in expectations)
            {
                var exception = (ICompositionError)CreateComposablePartException(e);

                var result = (ICompositionError)SerializationTestServices.RoundTrip(exception);

                Assert.AreEqual(exception.Id, result.Id);
            }
        }
コード例 #9
0
        public void InnerException_CanBeSerialized()
        {
            var expectations = Expectations.GetInnerExceptionsWithNull();

            foreach (var e in expectations)
            {
                var exception = CreateCardinalityMismatchException(e);

                var result = SerializationTestServices.RoundTrip(exception);

                ExtendedAssert.IsInstanceOfSameType(exception.InnerException, result.InnerException);
            }
        }
コード例 #10
0
        public void DisplayName_CanBeSerialized()
        {
            var expectations = Expectations.GetDisplayNames();

            foreach (var e in expectations)
            {
                var element = CreateSerializableCompositionElement(e);

                var result = SerializationTestServices.RoundTrip(element);

                Assert.AreEqual(e, result.DisplayName);
            }
        }
コード例 #11
0
        public void Origin_CanBeSerialized()
        {
            var expectations = Expectations.GetCompositionElements();

            foreach (var e in expectations)
            {
                var element = CreateSerializableCompositionElement(e);

                var result = SerializationTestServices.RoundTrip(element);

                ElementAssert.AreEqual(e, result);
            }
        }
コード例 #12
0
        public void Message_CanBeSerialized()
        {
            var expectations = Expectations.GetExceptionMessages();

            foreach (var e in expectations)
            {
                var error = CreateCompositionError(e);

                var result = SerializationTestServices.RoundTrip(error);

                Assert.AreEqual(error.Description, result.Description);
            }
        }
コード例 #13
0
        public void Exception_CanBeSerialized()
        {
            var expectations = Expectations.GetInnerExceptionsWithNull();

            foreach (var e in expectations)
            {
                var error = CreateCompositionError(e);

                var result = SerializationTestServices.RoundTrip(error);

                ExtendedAssert.IsInstanceOfSameType(error.Exception, result.Exception);
            }
        }
コード例 #14
0
        public void ICompositionErrorId_CanBeSerialized()
        {
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

            foreach (var e in expectations)
            {
                var error = CreateCompositionError(e);

                var result = SerializationTestServices.RoundTrip(error);

                Assert.AreEqual(error.Id, result.Id);
            }
        }
コード例 #15
0
        public void Errors_CanBeSerialized()
        {
            var expectations = Expectations.GetCompositionErrors();

            foreach (var e in expectations)
            {
                var exception = CreateCompositionException(e);

                var result = SerializationTestServices.RoundTrip(exception);

                EnumerableAssert.AreSequenceEqual(exception.Errors, result.Errors, (index, expected, actual) =>
                {
                    CompositionAssert.AreEqual(expected, actual);
                });
            }
        }