public void MultitenantTests_Dispose_Multiple() { var container = new StashboxContainer(); container.Register <IA, C>(); var md = new TenantDistributor(container); md.Dispose(); md.Dispose(); }
public void MultitenantTests_Dispose_Tenant() { var container = new StashboxContainer(c => c.WithDisposableTransientTracking()); var md = new TenantDistributor(container); md.ConfigureTenant("C", c => c.Register <IA, C>()); var tenant = md.GetTenant("C"); var inst = (C)tenant.Resolve <IA>(); md.Dispose(); Assert.True(inst.Disposed); Assert.Throws <ObjectDisposedException>(() => container.Resolve <IA>()); Assert.Throws <ObjectDisposedException>(() => tenant.Resolve <IA>()); }