public void DoubleDisposeWorks()
        {
            var provider = new ServiceProvider(new ServiceCollection(), ServiceProviderOptions.Default);
            var serviceProviderEngineScope = new ServiceProviderEngineScope(provider, isRootScope: true);

            serviceProviderEngineScope.ResolvedServices.Add(new ServiceCacheKey(typeof(IFakeService), 0), null);
            serviceProviderEngineScope.Dispose();
            serviceProviderEngineScope.Dispose();
        }
Esempio n. 2
0
        public void DoubleDisposeWorks()
        {
            var engine = new FakeEngine();
            var serviceProviderEngineScope = new ServiceProviderEngineScope(engine);

            serviceProviderEngineScope.ResolvedServices.Add(new ServiceCacheKey(typeof(IFakeService), 0), null);
            serviceProviderEngineScope.Dispose();
            serviceProviderEngineScope.Dispose();
        }
        public void Dispose_DoesntClearResolvedServices()
        {
            var serviceProviderEngineScope = new ServiceProviderEngineScope(null);

            serviceProviderEngineScope.ResolvedServices.Add(new ServiceCacheKey(typeof(IFakeService), 0), null);
            serviceProviderEngineScope.Dispose();

            Assert.Single(serviceProviderEngineScope.ResolvedServices);
        }
Esempio n. 4
0
        public void ResolvedServicesAfterDispose_ThrowsObjectDispose()
        {
            var engine = new FakeEngine();
            var serviceProviderEngineScope = new ServiceProviderEngineScope(engine);

            serviceProviderEngineScope.ResolvedServices.Add(new ServiceCacheKey(typeof(IFakeService), 0), null);
            serviceProviderEngineScope.Dispose();

            Assert.Throws <ObjectDisposedException>(() => serviceProviderEngineScope.ResolvedServices);
        }