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())); }
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()); }
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 }); }
public void Satisfied_NullTarget_ThrowsArgumentNullException() { var contract = new CompositionContract(typeof(int)); AssertExtensions.Throws <ArgumentNullException>("target", () => CompositionDependency.Satisfied(contract, null, false, new object())); }