示例#1
0
        public void NoImplementTest()
        {
            var collection = new TestServiceCollection();
            var provider   = CreateServiceProvider(collection);

            Assert.Null(provider.GetService <IFoo>());
        }
        public void NoConstructor()
        {
            var collection = new TestServiceCollection();

            collection.AddSingleton <FakeService>();
            var serviceProvider = CreateServiceProvider(collection);
            var obj             = serviceProvider.GetService <FakeService>();
        }
示例#3
0
        public void CircleDependencyTest()
        {
            var collection = new TestServiceCollection();

            collection.AddSingleton <IFoo, Foo>();
            collection.AddSingleton <IBar, Bar>();
            Assert.Throws <InvalidOperationException>(() => CreateServiceProvider(collection));
        }
        public void CircleTest2()
        {
            var collection = new TestServiceCollection();

            collection.AddSingleton <IFoo>(new Foo());
            collection.AddSingleton <IBar, Bar>();
            var serviceProvider = CreateServiceProvider(collection);
            var obj             = serviceProvider.GetService <IBar>();

            Assert.NotNull(obj);
        }
        public void ConstructorSwitch()
        {
            var collection = new TestServiceCollection();

            collection.AddSingleton <IFakeService, FakeService>();
            collection.AddSingleton <IBar, Bar>();
            var serviceProvider = CreateServiceProvider(collection);
            var obj             = serviceProvider.GetService <IFakeService>();

            Assert.NotNull(obj);
        }
        public void NoImplemenetTest()
        {
            var collection = new TestServiceCollection();

            collection.AddSingleton <IFoo, Foo>();
            collection.AddSingleton <IBar, Bar>();
            Assert.Throws <InvalidOperationException>(() =>
            {
                var serviceProvider = CreateServiceProvider(collection);
                serviceProvider.GetService <IFoo>();
            });
        }