public void Dispose_InvokeDisposingWithDisposableObject_CallsDispose() { var componentContainer = new Container(); var component = new Component(); componentContainer.Add(component); Assert.Same(componentContainer, component.Container); var container = new SubServiceContainer(); container.AddService(typeof(object), component); container.Dispose(disposing: false); Assert.Same(componentContainer, component.Container); Assert.Same(component, container.GetService(typeof(object))); container.Dispose(disposing: true); Assert.Null(component.Container); Assert.Null(container.GetService(typeof(object))); // Dispose again. container.Dispose(disposing: true); Assert.Null(component.Container); Assert.Null(container.GetService(typeof(object))); }
public void Ctor_IServiceProvider(IServiceProvider parentProvider) { var container = new SubServiceContainer(parentProvider); Assert.Equal(new Type[] { typeof(IServiceContainer), typeof(ServiceContainer) }, container.DefaultServices); Assert.Same(container.DefaultServices, container.DefaultServices); }
public void Ctor_Default() { var container = new SubServiceContainer(); Assert.Equal(new Type[] { typeof(IServiceContainer), typeof(ServiceContainer) }, container.DefaultServices); Assert.Same(container.DefaultServices, container.DefaultServices); }
public void Dispose_InvokeDisposing_ClearsServices() { var container = new SubServiceContainer(); var serviceInstance = new object(); container.AddService(typeof(object), serviceInstance); container.Dispose(disposing: false); Assert.Same(serviceInstance, container.GetService(typeof(object))); container.Dispose(disposing: true); Assert.Null(container.GetService(typeof(object))); // Dispose again. container.Dispose(disposing: true); Assert.Null(container.GetService(typeof(object))); }