public void OptionalImportsOfReferenceTypesAreBoundToDefaultWhenNotSatisfied() { var container = ContainerFactory.Create(); var importer = new OptionalImport(); CompositionBatch batch = new CompositionBatch(); batch.AddPart(importer); container.Compose(batch); Assert.Equal(1, importer.ReferenceTypeSetCount); Assert.Null(importer.ReferenceType); }
public void OptionalImportsOfReferenceTypesAreReboundToDefaultWhenExportIsRemoved() { var container = ContainerFactory.Create(); var importer = new OptionalImport(); CompositionBatch batch = new CompositionBatch(); batch.AddPart(importer); var key = batch.AddExportedValue("ReferenceType", "Bar"); container.Compose(batch); Assert.Equal(1, importer.ReferenceTypeSetCount); Assert.Equal("Bar", importer.ReferenceType); batch = new CompositionBatch(); batch.RemovePart(key); container.Compose(batch); Assert.Equal(2, importer.ReferenceTypeSetCount); Assert.Null(importer.ReferenceType); }
public void OptionalImportsOfNullableValueTypesAreReboundToDefaultWhenExportIsRemoved() { var container = ContainerFactory.Create(); var importer = new OptionalImport(); CompositionBatch batch = new CompositionBatch(); batch.AddPart(importer); var key = batch.AddExportedValue <int?>("NullableValueType", 10); container.Compose(batch); Assert.AreEqual(1, importer.NullableValueTypeSetCount); Assert.AreEqual(10, importer.NullableValueType); batch = new CompositionBatch(); batch.RemovePart(key); container.Compose(batch); Assert.AreEqual(2, importer.NullableValueTypeSetCount); Assert.IsNull(importer.NullableValueType); }
public void OptionalImportsOfReferenceTypesAreReboundToDefaultWhenExportIsRemoved() { var container = ContainerFactory.Create(); var importer = new OptionalImport(); CompositionBatch batch = new CompositionBatch(); batch.AddPart(importer); var key = batch.AddExportedValue("ReferenceType", "Bar"); container.Compose(batch); Assert.AreEqual(1, importer.ReferenceTypeSetCount); Assert.AreEqual("Bar", importer.ReferenceType); batch = new CompositionBatch(); batch.RemovePart(key); container.Compose(batch); Assert.AreEqual(2, importer.ReferenceTypeSetCount); Assert.IsNull(importer.ReferenceType); }
public void OptionalImportsOfReferenceTypesAreBoundToDefaultWhenNotSatisfied() { var container = ContainerFactory.Create(); var importer = new OptionalImport(); CompositionBatch batch = new CompositionBatch(); batch.AddPart(importer); container.Compose(batch); Assert.AreEqual(1, importer.ReferenceTypeSetCount); Assert.IsNull(importer.ReferenceType); }