Exemple #1
0
        public void Satisfied_NullContract_ThrowsArgumentNullException()
        {
            var descriptor = ExportDescriptor.Create(Activator, new Dictionary <string, object>());
            var target     = new ExportDescriptorPromise(new CompositionContract(typeof(int)), "Origin", true, () => Enumerable.Empty <CompositionDependency>(), dependencies =>
            {
                return(ExportDescriptor.Create(Activator, new Dictionary <string, object>()));
            });

            AssertExtensions.Throws <ArgumentNullException>("contract", () => CompositionDependency.Satisfied(null, target, false, new object()));
        }
Exemple #2
0
        public void Satisfied_Invoke_ReturnsExpected()
        {
            var contract   = new CompositionContract(typeof(int));
            var descriptor = ExportDescriptor.Create(Activator, new Dictionary <string, object>());
            var target     = new ExportDescriptorPromise(new CompositionContract(typeof(int)), "Origin", false, () => Enumerable.Empty <CompositionDependency>(), dependencies =>
            {
                return(ExportDescriptor.Create(Activator, new Dictionary <string, object>()));
            });

            CompositionDependency dependency = CompositionDependency.Satisfied(contract, target, true, "Site");

            Assert.Same(contract, dependency.Contract);
            Assert.Equal("Site", dependency.Site);
            Assert.Same(target, dependency.Target);
            Assert.True(dependency.IsPrerequisite);

            Assert.Equal("'Site' on contract 'Int32' supplied by Origin", dependency.ToString());
        }
Exemple #3
0
            public override IEnumerable <ExportDescriptorPromise> GetExportDescriptors(CompositionContract contract, DependencyAccessor descriptorAccessor)
            {
                var target = new ExportDescriptorPromise(new CompositionContract(typeof(int)), "Origin1", true, () =>
                {
                    var dependencyTarget = new ExportDescriptorPromise(new CompositionContract(typeof(int)), "Origin2", true, () => Enumerable.Empty <CompositionDependency>(), dependencies =>
                    {
                        return(ExportDescriptor.Create(Activator, new Dictionary <string, object>()));
                    });

                    return(new CompositionDependency[]
                    {
                        CompositionDependency.Satisfied(contract, dependencyTarget, true, "Site")
                    });
                }, dependencies =>
                {
                    return(ExportDescriptor.Create(Activator, new Dictionary <string, object>()));
                });

                return(new ExportDescriptorPromise[] { target });
            }
Exemple #4
0
        public void Satisfied_NullTarget_ThrowsArgumentNullException()
        {
            var contract = new CompositionContract(typeof(int));

            AssertExtensions.Throws <ArgumentNullException>("target", () => CompositionDependency.Satisfied(contract, null, false, new object()));
        }