コード例 #1
0
        public void InjectionFailDependencyNotFound()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass), typeof(IClass));
            di.Register(typeof(MyClass3), typeof(IClass3));

            TestClass testClass = di.CallCtor(typeof(TestClass)) as TestClass;
        }
コード例 #2
0
        public void PropertyInjectionNotFoundDependency()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            TestClass2 testClass = di.CreateAndPropInjection(typeof(TestClass2)) as TestClass2;

            Assert.AreEqual(null, testClass.Property1);
            Assert.AreEqual(null, testClass.Property2);
        }
コード例 #3
0
        public void RegisterAndResolveToItself()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass));

            MyClass myClass = di.Resolve(typeof(MyClass)) as MyClass;

            Assert.AreEqual(true, myClass.IsEnabled);
        }
コード例 #4
0
        public void InjectionFaiedInstanseNotFounded()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass), typeof(IClass));

            TestClass testClass = di.CallCtor(typeof(TestClass)) as TestClass;

            Assert.AreEqual(true, testClass.IsGood);
        }
コード例 #5
0
        public void RegisterAndResolveWithKey()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass), typeof(IClass), "key");

            IClass iClass = di.Resolve(typeof(MyClass), "key") as MyClass;

            Assert.AreEqual(true, iClass.IsEnabled);
        }
コード例 #6
0
        public void RegisterAndResolveWithNotExistedInterface()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass), typeof(IClass));

            IClass iClass = di.Resolve(typeof(MyClass), typeof(IClass2)) as MyClass;

            Assert.AreEqual(null, iClass);
        }
コード例 #7
0
            public void Validates_ResetPasswordForm()
            {
                var request = new HttpRequest(null, "http://www.site.com", null);
                HttpContext.Current = new HttpContext(request, new HttpResponse(null));
                var container = SimpleDependencyInjector.Bootstrap(new ContainerConfiguration());

                var validator = container.GetInstance<IValidator<ResetPasswordForm>>();

                validator.ShouldNotBeNull();
                validator.ShouldBeType<ResetPasswordValidator>();
            }
コード例 #8
0
        public void PropertyInjectionGood()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass), typeof(IClass));
            di.Register(typeof(MyClass2), typeof(IClass2));

            TestClass2 testClass = di.CreateAndPropInjection(typeof(TestClass2)) as TestClass2;

            Assert.AreEqual(true, testClass.Property1.IsEnabled);
            Assert.AreEqual(true, testClass.Property2.IsEnabled);
        }
コード例 #9
0
        public void RegisterAndResolveTwoClassesToInterface()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass), typeof(IClass));
            di.Register(typeof(MyClass2), typeof(IClass2));

            IClass  iClass  = di.Resolve(typeof(MyClass), typeof(IClass)) as MyClass;
            IClass2 iClass2 = di.Resolve(typeof(MyClass2), typeof(IClass2)) as MyClass2;

            Assert.AreEqual(true, iClass.IsEnabled);
            Assert.AreEqual(true, iClass2.IsEnabled);
        }
コード例 #10
0
ファイル: Global.asax.cs プロジェクト: Alttaf/UCosmicPreview
        private static void SetUpDependencyInjection()
        {
            var containerConfiguration = new ContainerConfiguration
            {
                IsDeployedToCloud = WebConfig.IsDeployedToCloud,
                GeoPlanetAppId    = WebConfig.GeoPlanetAppId,
                GeoNamesUserName  = WebConfig.GeoNamesUserName,
            };
            var serviceProvider = new SimpleDependencyInjector(containerConfiguration);

            ServiceProviderLocator.SetProvider(serviceProvider);

            // use infrastructure service locator for MVC dependency resolution
            DependencyResolver.SetResolver(new MvcDependencyResolver());

            var providers = FilterProviders.Providers.OfType <FilterAttributeFilterProvider>().ToList();

            providers.ForEach(provider => FilterProviders.Providers.Remove(provider));
            FilterProviders.Providers.Add(ServiceProviderLocator.Current.GetService <SimpleFilterAttributeFilterProvider>());
        }
コード例 #11
0
            public void Registers_UCosmicContext_PerWebRequest()
            {
                var request = new HttpRequest(null, "http://www.site.com", null);

                HttpContext.Current = new HttpContext(request, new HttpResponse(null));

                var container = SimpleDependencyInjector.Bootstrap(new ContainerConfiguration());

                var db1 = container.GetInstance <IUnitOfWork>();
                var db2 = container.GetInstance <IQueryEntities>();
                var db3 = container.GetInstance <ICommandEntities>();

                db1.ShouldNotBeNull();
                db2.ShouldNotBeNull();
                db3.ShouldNotBeNull();

                db1.ShouldEqual(db2 as IUnitOfWork);
                db2.ShouldEqual(db3);
                db3.ShouldEqual(db1 as ICommandEntities);
            }
コード例 #12
0
        public void InvalidInterfaceTypeTest()
        {
            SimpleDependencyInjector di = new SimpleDependencyInjector();

            di.Register(typeof(MyClass), typeof(MyClass));
        }
コード例 #13
0
            public void Returns_Verifyable_Container()
            {
                var container = SimpleDependencyInjector.Bootstrap(new ContainerConfiguration());

                container.Verify();
            }