Example #1
0
        public void Constructor5_ValueAsIdArgument_ShouldSetICompositionErrorIdProperty()
        {
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

            Assert.All(expectations, e =>
            {
                var error = new CompositionError(e, "Description", ElementFactory.Create(), new Exception());
                Assert.Equal(e, error.Id);
            });
        }
Example #2
0
        public void Constructor2_ShouldSetRequiredCreationPolicyToAny()
        {
            var expectations = Expectations.GetEnumValues <CreationPolicy>();

            foreach (var e in expectations)
            {
                var definition = new ContractBasedImportDefinition("ContractName", (string)null, Enumerable.Empty <KeyValuePair <string, Type> >(), ImportCardinality.ExactlyOne, false, false, e);

                Assert.Equal(e, definition.RequiredCreationPolicy);
            }
        }
Example #3
0
        public void Constructor2_ValueAsCardinalityArgument_ShouldSetCardinalityProperty()
        {
            var expectations = Expectations.GetEnumValues <ImportCardinality>();

            foreach (var e in expectations)
            {
                var definition = new ContractBasedImportDefinition("ContractName", (string)null, Enumerable.Empty <KeyValuePair <string, Type> >(), e, false, false, CreationPolicy.Any);

                Assert.Equal(e, definition.Cardinality);
            }
        }
        public void Constructor_ShouldSetCreationPolicyToGivenValue()
        {
            var expectations = Expectations.GetEnumValues <CreationPolicy>();

            foreach (var e in expectations)
            {
                var attribute = new PartCreationPolicyAttribute(e);

                Assert.AreEqual(e, attribute.CreationPolicy);
            }
        }
Example #5
0
        public void Constructor2_ValueAsCardinalityArgument_ShouldSetCardinalityProperty()
        {
            var expectations = Expectations.GetEnumValues <ImportCardinality>();

            foreach (var e in expectations)
            {
                var definition = new ImportDefinition(d => true, "", e, false, false);

                Assert.Equal(e, definition.Cardinality);
            }
        }
        public void Constructor9_ValueAsIdArgument_ShouldSetICompositionErrorIdProperty()
        {
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

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

                Assert.AreEqual(e, exception.Id);
            }
        }
        public void Constructor5_ValueAsIdArgument_ShouldSetICompositionErrorIdProperty()
        {
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

            foreach (var e in expectations)
            {
                var error = new CompositionError(e, "Description", ElementFactory.Create(), new Exception());

                Assert.AreEqual(e, ((ICompositionError)error).Id);
            }
        }
        private CompositionResult <T> CreateCompositionResult <T>(int count)
        {
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

            List <CompositionError> errors = new List <CompositionError>();

            foreach (var e in expectations.Take(count))
            {
                errors.Add(ErrorFactory.Create(e));
            }

            return(CreateCompositionResult <T>(errors));
        }
        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);
            }
        }
        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);
            }
        }
        public void Value_TwoSameValuesAsErrorsArgument_ShouldThrowComposition()
        {
            var errorIds = Expectations.GetEnumValues <CompositionErrorId>();

            foreach (var errorId in errorIds)
            {
                var result = CreateCompositionResult <string>(errorId, errorId);

                CompositionAssert.ThrowsErrors((ErrorId)errorId, (ErrorId)errorId, () =>
                {
                    var value = result.Value;
                });
            }
        }
Example #12
0
        public void ThrowOnErrors_SingleValueAsErrorsArgument_ShouldThrowComposition()
        {
            var errorIds = Expectations.GetEnumValues <CompositionErrorId>();

            foreach (var errorId in errorIds)
            {
                var result = CreateCompositionResult(errorId);

                CompositionAssert.ThrowsError((ErrorId)errorId, () =>
                {
                    result.ThrowOnErrors();
                });
            }
        }
Example #13
0
        public void MergeError_ValueAsErrorArgumentWhenMergedWithResultWithErrors_ShouldReturnResultWithCombinedErrors()
        {
            var result       = CreateCompositionResult(2);
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

            foreach (var e in expectations)
            {
                var error = ErrorFactory.Create(e);

                var mergedResult = result.MergeError(error);
                var mergedErrors = result.Errors.Concat(new CompositionError[] { error });

                EqualityExtensions.CheckEquals(mergedErrors, mergedResult.Errors);
                Assert.False(mergedResult.Succeeded);
            }
        }
Example #14
0
        public void MergeError_ValueAsErrorArgumentWhenMergedWithResultWithEmptyErrors_ShouldReturnResultWithCombinedErrors()
        {
            var result       = CreateCompositionResult(Enumerable.Empty <CompositionError>());
            var expectations = Expectations.GetEnumValues <CompositionErrorId>();

            foreach (var e in expectations)
            {
                var error = ErrorFactory.Create(e);

                var mergedResult = result.MergeError(error);
                var mergedErrors = result.Errors.Concat(new CompositionError[] { error });

                EnumerableAssert.AreSequenceSame(mergedErrors, mergedResult.Errors);
                Assert.IsFalse(mergedResult.Succeeded);
            }
        }
        public void Value_TwoDifferentValuesAsErrorsArgument_ShouldThrowComposition()
        {
            var errorIds1 = Expectations.GetEnumValues <CompositionErrorId>();
            var errorIds2 = Expectations.GetEnumValues <CompositionErrorId>();

            for (int i = 0; i < errorIds1.Count(); i++)
            {
                var errorId1 = errorIds1.ElementAt(i);
                var errorId2 = errorIds1.ElementAt(errorIds2.Count() - 1 - i);

                var result = CreateCompositionResult <string>(errorId1, errorId2);

                CompositionAssert.ThrowsErrors((ErrorId)errorId1, (ErrorId)errorId2, () =>
                {
                    var value = result.Value;
                });
            }
        }