public void ImportOnConstructorWithFunc() { var id = TypeIdentity.CreateDefinition(typeof(ImportOnConstructorWithFunc)); Assert.IsTrue(s_Types.Exists(s => s.Identity.Equals(id))); var plugins = s_Parts.Where(p => p.Identity.Equals(id)); Assert.IsTrue(plugins.Count() == 1); var plugin = plugins.First(); Assert.AreEqual(1, plugin.Imports.Count()); var import = plugin.Imports.First() as ConstructorBasedImportDefinition; Assert.IsNotNull(import); Assert.AreEqual("ContractName", import.ContractName); Assert.AreEqual(id, import.DeclaringType); Assert.AreEqual(TypeIdentity.CreateDefinition(typeof(Func <IExportingInterface>)), import.RequiredTypeIdentity); Assert.AreEqual( ConstructorDefinition.CreateDefinition( typeof(ImportOnConstructorWithFunc).GetConstructor(new[] { typeof(Func <IExportingInterface>) })), import.Constructor); Assert.AreEqual( ParameterDefinition.CreateDefinition( typeof(ImportOnConstructorWithFunc).GetConstructor(new[] { typeof(Func <IExportingInterface>) }).GetParameters().First()), import.Parameter); }