コード例 #1
0
        public void TestResolve()
        {
            Container.Bind <Foo>().AsSingle().NonLazy();
            Container.Bind <Bar>().AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <Foo>());
        }
コード例 #2
0
ファイル: TestLazy.cs プロジェクト: UniDi/UniDi
        public void TestOptional1()
        {
            Container.Bind <Bar>().AsSingle();
            Container.Bind <Qux>().AsSingle();

            Assert.IsNotNull(Container.Resolve <Qux>().Bar.Value);
        }
コード例 #3
0
        public void TestInstallerSelfTransient()
        {
            Container.Bind <Foo>().FromSubContainerResolve().ByInstance(
                CreateFooSubContainer()).AsTransient().NonLazy();

            Assert.IsNotNull(Container.Resolve <Foo>().Bar);
        }
コード例 #4
0
        public void TestInstallerSelfSingle()
        {
            Container.Bind <Foo>().FromSubContainerResolve()
            .ByInstanceGetter(ctx => CreateFooSubContainer()).AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <Foo>().Bar);
        }
コード例 #5
0
        public void TestStringIdentifiers2()
        {
            Container.Bind <Foo>().WithId("asdf").AsTransient();
            Container.Bind <Test0>().AsTransient();

            Assert.IsNotNull(Container.Resolve <Test0>());
        }
コード例 #6
0
        public void TestIntIdentifiers3()
        {
            Container.Bind <Foo>().WithId(5).AsTransient();
            Container.Bind <Test1>().AsTransient();

            Assert.IsNotNull(Container.Resolve <Test1>());
        }
コード例 #7
0
        public void TestMethodConcreteCached()
        {
            Container.Bind <IFoo>().To <Foo>()
            .FromSubContainerResolve().ByMethod(InstallFooFacade).AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <IFoo>().Bar);
        }
コード例 #8
0
        public void TestEnumIdentifiers3()
        {
            Container.Bind <Foo>().WithId(Things.Thing1).AsTransient();
            Container.Bind <Test2>().AsTransient();

            Assert.IsNotNull(Container.Resolve <Test2>());
        }
コード例 #9
0
ファイル: TestFrom.cs プロジェクト: UniDi/UniDi
        public void TestConcreteTransient2()
        {
            Container.Bind <IFoo>().To <Foo>().AsTransient().NonLazy();

            Assert.IsNotNull(Container.Resolve <IFoo>());
            Assert.IsNotEqual(Container.Resolve <IFoo>(), Container.Resolve <IFoo>());
        }
コード例 #10
0
        public void TestInstallerSelfIdentifiers()
        {
            Container.Bind <Gorp>().FromSubContainerResolve("gorp")
            .ByInstanceGetter(ctx => CreateFooSubContainer()).AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <Gorp>());
        }
コード例 #11
0
ファイル: TestFrom.cs プロジェクト: UniDi/UniDi
        public void TestSelfTransient()
        {
            Container.Bind <Foo>().AsTransient().NonLazy();

            Assert.IsNotNull(Container.Resolve <Foo>());
            Assert.IsNotEqual(Container.Resolve <Foo>(), Container.Resolve <Foo>());
        }
コード例 #12
0
ファイル: TestFrom.cs プロジェクト: UniDi/UniDi
        public void TestSelfCached()
        {
            Container.Bind <Foo>().AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <Foo>());
            Assert.IsEqual(Container.Resolve <Foo>(), Container.Resolve <Foo>());
        }
コード例 #13
0
ファイル: TestFrom.cs プロジェクト: UniDi/UniDi
        public void TestSelfSingleExplicit()
        {
            Container.Bind <Foo>().ToSelf().FromNew().AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <Foo>());
            Assert.IsEqual(Container.Resolve <Foo>(), Container.Resolve <Foo>());
        }
コード例 #14
0
        public void TestMultipleWithOneTagged()
        {
            Container.Bind <Bar>().AsSingle().NonLazy();
            Container.Bind <Qux>().AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <Qux>());
        }
コード例 #15
0
ファイル: TestFactoryFrom0.cs プロジェクト: UniDi/UniDi
        public void TestConcreteUntyped()
        {
            Container.BindFactory <IFoo, IFooFactory>().To(typeof(Foo)).NonLazy();

            Assert.IsNotNull(Container.Resolve <IFooFactory>().Create());

            Assert.That(Container.Resolve <IFooFactory>().Create() is Foo);
        }
コード例 #16
0
        public void TestPostInject()
        {
            Container.Bind <Foo2>().AsSingle();
            Container.Bind <Bar2>().AsSingle();

            Assert.IsNotNull(Container.Resolve <Foo2>());
            Assert.IsNotNull(Container.Resolve <Bar2>());
        }
コード例 #17
0
        public void TestTransient()
        {
            Container.Bind <Foo>().AsSingle();
            Container.Bind <Bar>().FromResolveGetter <Foo>(x => x.Bar);

            Assert.IsNotNull(Container.Resolve <Bar>());
            Assert.IsEqual(Container.Resolve <Bar>(), Container.Resolve <Foo>().Bar);
        }
コード例 #18
0
        public void TestField()
        {
            Container.Bind <Foo3>().AsSingle();
            Container.Bind <Bar3>().AsSingle();

            Assert.IsNotNull(Container.Resolve <Foo3>().Bar);
            Assert.IsNotNull(Container.Resolve <Bar3>().Foo);
        }
コード例 #19
0
ファイル: TestIFactory.cs プロジェクト: UniDi/UniDi
        public void Test1()
        {
            Container.BindIFactory <Foo>();

            var factory = Container.Resolve <IFactory <Foo> >();

            Assert.IsNotNull(factory.Create());
        }
コード例 #20
0
        public void Test4()
        {
            // This case is more lenient and just ignores invalid bindings
            Container.Bind(typeof(IFoo), typeof(IBar)).To(typeof(Foo), typeof(Bar)).AsCached();

            Assert.IsNotNull(Container.Resolve <IFoo>());
            Assert.IsNotNull(Container.Resolve <IBar>());
        }
コード例 #21
0
ファイル: TestFactoryFromGetter0.cs プロジェクト: UniDi/UniDi
        public void TestSelf()
        {
            Container.Bind <Foo>().AsSingle().NonLazy();
            Container.BindFactory <Bar, Bar.Factory>().FromResolveGetter <Foo>(x => x.Bar).NonLazy();

            Assert.IsNotNull(Container.Resolve <Bar.Factory>().Create());
            Assert.IsEqual(Container.Resolve <Bar.Factory>().Create(), Container.Resolve <Foo>().Bar);
        }
コード例 #22
0
ファイル: TestPostInjectCall.cs プロジェクト: UniDi/UniDi
 public void Init()
 {
     Assert.That(!HasInitialized);
     Assert.IsNotNull(test1);
     Assert.IsNotNull(test0);
     Assert.IsNotNull(_test2);
     HasInitialized = true;
 }
コード例 #23
0
        public void TestAllInterfacesAndSelf()
        {
            Container.BindInterfacesAndSelfTo <Foo>().AsSingle().NonLazy();

            Assert.IsNotNull(Container.Resolve <Foo>());
            Assert.IsNotNull(Container.Resolve <IFoo>());
            Assert.IsNotNull(Container.Resolve <IQux>());
        }
コード例 #24
0
        public void TestSuccessFieldInjectionEnum()
        {
            Container.Bind <Test4>().AsTransient().NonLazy();

            Container.Bind <Test0>().FromInstance(new Test0()).NonLazy();
            Container.Bind <Test0>().WithId("TestValue3").FromInstance(new Test0()).NonLazy();

            Assert.IsNotNull(Container.Resolve <Test4>());
        }
コード例 #25
0
        public void TestInstallerSelfSingle()
        {
            Container.Bind <Foo>().FromSubContainerResolve().ByInstaller <FooInstaller>().AsSingle().NonLazy();

            var foo = Container.Resolve <Foo>();

            Assert.IsNotNull(foo.Bar);
            Assert.IsEqual(foo, Container.Resolve <Foo>());
        }
コード例 #26
0
ファイル: TestFactoryFrom1.cs プロジェクト: UniDi/UniDi
        public void TestConcrete()
        {
            Container.BindFactory <string, IFoo, IFooFactory>().To <Foo>().NonLazy();

            var ifoo = Container.Resolve <IFooFactory>().Create("asdf");

            Assert.IsNotNull(ifoo);
            Assert.IsEqual(((Foo)ifoo).Value, "asdf");
        }
コード例 #27
0
        public void TestMethodSelfSingle()
        {
            Container.Bind <Foo>().FromSubContainerResolve().ByMethod(InstallFooFacade).AsSingle().NonLazy();

            var foo = Container.Resolve <Foo>();

            Assert.IsNotNull(foo.Bar);
            Assert.IsEqual(foo, Container.Resolve <Foo>());
        }
コード例 #28
0
ファイル: TestFactoryFrom5.cs プロジェクト: UniDi/UniDi
        public void TestConcrete()
        {
            Container.BindFactory <string, int, string, float, int, IFoo, IFooFactory>().To <Foo>().NonLazy();

            var ifoo = Container.Resolve <IFooFactory>().Create("asdf", 2, "a", 4.2f, 6);

            Assert.IsNotNull(ifoo);
            Assert.IsEqual(((Foo)ifoo).P1, "asdf");
        }
コード例 #29
0
        public void TestSuccessFieldInjectionString()
        {
            Container.Bind <Test1>().AsTransient().NonLazy();
            Container.Bind <Test2>().AsTransient().NonLazy();

            Container.Bind <Test0>().FromInstance(new Test0()).NonLazy();
            Container.Bind <Test0>().WithId("foo").FromInstance(new Test0()).NonLazy();

            Assert.IsNotNull(Container.Resolve <Test2>());
        }
コード例 #30
0
ファイル: TestInjectSources.cs プロジェクト: UniDi/UniDi
        public void TestParent1()
        {
            var rootContainer = new DiContainer();
            var sub1          = rootContainer.CreateSubContainer();

            rootContainer.Bind <Test0>().AsSingle();
            sub1.Bind <Test2>().AsSingle();

            Assert.IsNotNull(sub1.Resolve <Test2>());
        }