Exemple #1
0
        public void TestByMethod()
        {
            Container.Bind <FooFacade>().FromSubContainerResolve()
            .ByMethod(InstallFoo).WithKernel().AsSingle();

            UniDiManagersInstaller.Install(Container);
            Container.ResolveRoots();

            var facade = Container.Resolve <FooFacade>();

            Assert.That(!facade.Foo.WasInitialized);
            Container.Resolve <InitializableManager>().Initialize();
            Assert.That(facade.Foo.WasInitialized);
        }
Exemple #2
0
        public void TestByInstallerCustomOrder()
        {
            GlobalInitializeCount = 0;

            Container.BindInterfacesAndSelfTo <Bar>().AsSingle();
            Container.Bind <FooFacade>().FromSubContainerResolve()
            .ByInstaller <FooInstaller>().WithKernel <FooKernel>().AsSingle();

            UniDiManagersInstaller.Install(Container);
            Container.ResolveRoots();

            var facade = Container.Resolve <FooFacade>();

            Assert.That(!facade.Foo.WasInitialized);
            Container.Resolve <InitializableManager>().Initialize();
            Assert.That(facade.Foo.WasInitialized);

            Assert.IsEqual(Container.Resolve <Bar>().InitializeCount, 1);
            Assert.IsEqual(facade.Foo.InitializeCount, 2);
        }