コード例 #1
0
        public void unregistered_generic_types_return_null()
        {
            var mockServiceProvider = new Mock <IServiceProvider>(MockBehavior.Strict);

            mockServiceProvider.Setup(x => x.GetService(typeof(List <>))).Returns(null).Verifiable();
            var sasp = new SelfActivatingServiceProvider(mockServiceProvider.Object);

            sasp.GetService(typeof(List <>)).ShouldBeNull();
            mockServiceProvider.Verify();
        }
コード例 #2
0
        public void created_instances_are_not_disposed()
        {
            // if this test "fails", then our documentation needs to change. It does not necessarily indicate a fault.
            MyClass1 class1   = null;
            var      services = new ServiceCollection();

            services.AddSingleton(services => class1 = new MyClass1());
            var provider   = services.BuildServiceProvider();
            var myprovider = new SelfActivatingServiceProvider(provider);
            var class2     = myprovider.GetRequiredService <MyClass2>();

            provider.Dispose();
            (myprovider as IDisposable).ShouldBeNull(); // SelfActivatingServiceProvider does not yet support IDisposable
            class1.Disposed.ShouldBeTrue();
            class2.Disposed.ShouldBeFalse();
        }