public void GetInitializer_NoInitializerRegisteredForRequestedType_ReturnsNull() { // Arrange var container = ContainerFactory.New(); // Act var initializer = AdvancedExtensions.GetInitializer <IDisposable>(container); // Assert Assert.IsNull(initializer); }
public void GetInitializer_CallingTheReturnedDelegate_CallsTheRegisteredDelegate() { // Arrange bool called = false; var container = ContainerFactory.New(); container.RegisterInitializer <IDisposable>(d => { called = true; }); // Act var initializer = AdvancedExtensions.GetInitializer <IDisposable>(container); initializer(null); // Assert Assert.IsTrue(called); }
public void GetInitializer_CallingTheReturnedDelegate_CallsTheDelegateWithTheExpectedInstance() { // Arrange object actualInstance = null; var container = ContainerFactory.New(); container.RegisterInitializer <object>(d => { actualInstance = d; }); // Act var initializer = AdvancedExtensions.GetInitializer <object>(container); object expectedInstance = new object(); initializer(expectedInstance); // Assert Assert.IsTrue(object.ReferenceEquals(expectedInstance, actualInstance)); }