Пример #1
0
        public void MultitenantTests_Dispose_Multiple()
        {
            var container = new StashboxContainer();

            container.Register <IA, C>();

            var md = new TenantDistributor(container);

            md.Dispose();
            md.Dispose();
        }
Пример #2
0
        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>());
        }