public void ExportICompositionServiceFromRootRequiredImportShouldsucceed() { var rootCatalog = new TypeCatalog(typeof(ClassRequiresICompositionService), typeof(ClassOptionallyImportsICompositionService)); var container = new CompositionContainer(rootCatalog, CompositionOptions.ExportCompositionService); ClassRequiresICompositionService service = container.GetExportedValue <ClassRequiresICompositionService>(); Assert.NotNull(service.CompositionService); }
public void DontExportICompositionServiceFromRootRequiredImportShouldThrowCompositionException() { var rootCatalog = new TypeCatalog(typeof(ClassRequiresICompositionService), typeof(ClassOptionallyImportsICompositionService)); var container = new CompositionContainer(rootCatalog); Assert.Throws <ImportCardinalityMismatchException>(() => { ClassRequiresICompositionService service = container.GetExportedValue <ClassRequiresICompositionService>(); Assert.Null(service.CompositionService); }); }