示例#1
0
        public void TestToPrefabResourceConcrete()
        {
            Container.BindFactory <Foo, Foo.Factory>().To <Foo>().FromComponentInNewPrefabResource("TestBindFactory/Foo").WithGameObjectName("asdf");

            Initialize();

            FixtureUtil.CallFactoryCreateMethod <Foo, Foo.Factory>(Container);

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1);
        }
示例#2
0
        public void TestCached2()
        {
            Container.Bind(typeof(Foo), typeof(IFoo)).To <Foo>().FromGameObject().WithGameObjectName(GameObjName).AsCached();

            Container.BindRootResolve <IFoo>();
            Container.BindRootResolve <Foo>();

            Initialize();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
        }
示例#3
0
        public IEnumerator TestBasic()
        {
            PreInstall();
            Container.Bind <Foo>().FromNewComponentOnNewGameObject()
            .WithGameObjectName(GameObjName).AsSingle().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(1);
            FixtureUtil.AssertComponentCount <Foo>(1);
            yield break;
        }
示例#4
0
        public IEnumerator TestMultipleMatchTransform()
        {
            PreInstall();
            Container.Bind <Transform>().FromComponentInNewPrefab(FooPrefab).AsCached();
            PostInstall();
            var transform = Container.Resolve <Transform>();

            Assert.IsNotNull(transform);
            Assert.IsNull(transform.parent);
            FixtureUtil.AssertNumGameObjects(1);
            yield break;
        }
示例#5
0
        public void TestToSubContainerPrefabResourceConcrete()
        {
            Container.BindFactory <string, IFoo, IFooFactory>()
            .To <Foo>().FromSubContainerResolve().ByPrefabResource <FooInstaller>("TestBindFactoryOne/FooSubContainer");

            AddFactoryUser <IFoo, IFooFactory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
        }
示例#6
0
        public IEnumerator TestConcreteTransient()
        {
            PreInstall();
            Container.Bind <IFoo>().To <Foo>().FromSubContainerResolve()
            .ByNewPrefabResource(FooResourcePath).AsTransient().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(1);
            FixtureUtil.AssertComponentCount <Foo>(1);
            yield break;
        }
示例#7
0
        public void TestSelfSingle()
        {
            Container.Bind <Foo>().FromSubContainerResolve()
            .ByPrefab(_fooPrefab).AsSingle();

            Container.BindRootResolve <Foo>();
            Container.BindRootResolve <Foo>();
            Container.BindRootResolve <Foo>();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
        }
示例#8
0
        public IEnumerator TestFromNewComponentOnNewGameObjectConcrete()
        {
            PreInstall();
            Container.BindFactory <IFoo, IFooFactory>().To <Foo>().FromNewComponentOnNewGameObject();

            PostInstall();

            FixtureUtil.CallFactoryCreateMethod <IFoo, IFooFactory>(Container);
            FixtureUtil.AssertComponentCount <Foo>(1);
            FixtureUtil.AssertNumGameObjects(1);
            yield break;
        }
示例#9
0
        public void TestToPrefabConcrete()
        {
            Container.BindFactory <double, int, float, string, char, IFoo, IFooFactory>().To <Foo>().FromPrefab(FooPrefab).WithGameObjectName("asdf");

            AddFactoryUser <IFoo, IFooFactory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1);
        }
        public void TestToSubContainerPrefabSelf()
        {
            Container.BindFactory <string, Foo, Foo.Factory>()
            .FromSubContainerResolve().ByPrefab <FooInstaller>(FooSubContainerPrefab);

            AddFactoryUser <Foo, Foo.Factory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
        }
        public IEnumerator TestSelfIdentifiers()
        {
            PreInstall();
            CommonInstall();

            Container.Bind <Gorp>().FromSubContainerResolve("gorp").ByNewPrefabResource(FooResourcePath).AsSingle().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(1);
            yield break;
        }
示例#12
0
        public void TestFromSubContainerResolveByNewPrefabResourceSelf()
        {
            Container.BindFactory <string, Foo, Foo.Factory>()
            .FromSubContainerResolve().ByNewPrefabResource <FooInstaller>("TestBindFactoryOne/FooSubContainer");

            AddFactoryUser <Foo, Foo.Factory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
        }
示例#13
0
        public void TestFromComponentInNewPrefabResourceSelf()
        {
            Container.BindFactory <string, Foo, Foo.Factory>().FromComponentInNewPrefabResource("TestBindFactoryOne/Foo").WithGameObjectName("asdf");

            AddFactoryUser <Foo, Foo.Factory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1);
        }
示例#14
0
        public void TestToSubContainerPrefabResourceSelf()
        {
            Container.BindFactory <Foo, Foo.Factory>()
            .FromSubContainerResolve().ByNewPrefabResource("TestBindFactory/FooSubContainer");

            Initialize();

            FixtureUtil.CallFactoryCreateMethod <Foo, Foo.Factory>(Container);

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
        }
示例#15
0
        public void TestWithAbstractSearch()
        {
            // There are three components that implement INorf on this prefab
            // and so this should result in a list of 3 INorf's
            Container.Bind <INorf>().FromComponentInNewPrefab(NorfPrefab).AsTransient().NonLazy();

            Initialize();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <INorf>(Container, 3);
            FixtureUtil.AssertResolveCount <INorf>(Container, 3);
        }
示例#16
0
        public void TestToPrefabResourceSelf()
        {
            Container.BindFactory <double, int, float, string, char, Foo, Foo.Factory>().FromPrefabResource("TestBindFactoryFive/Foo").WithGameObjectName("asdf");

            AddFactoryUser <Foo, Foo.Factory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1);
        }
示例#17
0
        public void TestSingleIdentifiers()
        {
            Container.Bind <Foo>().FromComponentInNewPrefab(FooPrefab).WithGameObjectName("Foo").AsSingle().NonLazy();
            Container.Bind <Bar>().FromComponentInNewPrefab(FooPrefab).WithGameObjectName("Foo").AsSingle().NonLazy();

            Initialize();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertComponentCount <Bar>(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "Foo", 1);
        }
示例#18
0
        public void TestToSubContainerPrefabConcrete()
        {
            Container.BindFactory <double, int, float, string, char, IFoo, IFooFactory>()
            .To <Foo>().FromSubContainerResolve().ByPrefab <FooInstaller>(FooSubContainerPrefab);

            AddFactoryUser <IFoo, IFooFactory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
        }
示例#19
0
        public IEnumerator TestSelfTransientMultipleContracts()
        {
            PreInstall();
            Container.Bind(typeof(Foo), typeof(Bar)).FromSubContainerResolve().ByNewPrefabResource(FooResourcePath).AsTransient().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(2);
            FixtureUtil.AssertComponentCount <Foo>(2);
            FixtureUtil.AssertComponentCount <Bar>(2);
            yield break;
        }
示例#20
0
        public IEnumerator TestSelfCachedMultipleContracts()
        {
            PreInstall();
            Container.Bind(typeof(Foo), typeof(Bar)).FromSubContainerResolve().ByNewPrefab(FooPrefab).AsCached().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(1);
            FixtureUtil.AssertComponentCount <Foo>(1);
            FixtureUtil.AssertComponentCount <Bar>(1);
            yield break;
        }
示例#21
0
        public void TestSelfSingleMultipleContracts()
        {
            Container.Bind <Foo>().FromSubContainerResolve().ByPrefabResource(FooResourcePath).AsSingle();
            Container.Bind <Bar>().FromSubContainerResolve().ByPrefabResource(FooResourcePath).AsSingle();

            Container.BindRootResolve <Foo>();
            Container.BindRootResolve <Bar>();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertComponentCount <Bar>(Container, 1);
        }
示例#22
0
        public IEnumerator TestSelfSingle()
        {
            PreInstall();
            Container.Bind <Foo>().FromSubContainerResolve()
            .ByNewPrefab(FooPrefab).AsSingle().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(1);
            FixtureUtil.AssertComponentCount <Foo>(1);
            yield break;
        }
示例#23
0
        public void TestToPrefabResourceConcrete()
        {
            Container.BindFactory <string, IFoo, IFooFactory>().To <Foo>().FromPrefabResource("TestBindFactoryOne/Foo").WithGameObjectName("asdf");

            AddFactoryUser <IFoo, IFooFactory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1);
        }
示例#24
0
        public void TestWithArguments()
        {
            Container.Bind(typeof(Gorp))
            .FromComponentInNewPrefabResource(PathPrefix + "Gorp").WithGameObjectName("Gorp").AsCached()
            .WithArguments("test1").NonLazy();

            Initialize();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <Gorp>(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "Gorp", 1);
        }
示例#25
0
        public void TestToPrefabSelf()
        {
            Container.BindFactory <string, Foo, Foo.Factory>().FromPrefab(FooPrefab).WithGameObjectName("asdf");

            AddFactoryUser <Foo, Foo.Factory>();

            Initialize();

            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1);
        }
示例#26
0
        public void TestCached1()
        {
            Container.Bind(typeof(Foo), typeof(Bar)).FromComponentInNewPrefabResource(PathPrefix + "Foo")
            .WithGameObjectName("Foo").AsCached().NonLazy();

            Initialize();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <Foo>(Container, 1);
            FixtureUtil.AssertComponentCount <Bar>(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "Foo", 1);
        }
示例#27
0
        public IEnumerator TestAbstractBindingConcreteSearch()
        {
            PreInstall();
            // Should ignore the Norf2 component on it
            Container.Bind <INorf>().To <Norf>().FromComponentInNewPrefabResource(PathPrefix + "Norf").AsTransient().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(1);
            FixtureUtil.AssertResolveCount <INorf>(Container, 2);
            yield break;
        }
示例#28
0
        public void TestWithArgumentsSuccess()
        {
            Container.Bind <Gorp>().FromComponentInNewPrefab(GorpPrefab)
            .WithGameObjectName("Gorp").AsCached()
            .WithArguments("test1").NonLazy();

            Initialize();

            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertComponentCount <Gorp>(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "Gorp", 1);
        }
示例#29
0
        public IEnumerator TestCached1()
        {
            PreInstall();
            Container.Bind <Foo>().FromNewComponentOnNewGameObject().WithGameObjectName(GameObjName).AsCached().NonLazy();
            Container.Bind <IFoo>().To <Foo>().FromNewComponentOnNewGameObject().WithGameObjectName(GameObjName).AsCached().NonLazy();

            PostInstall();

            FixtureUtil.AssertNumGameObjects(2);
            FixtureUtil.AssertComponentCount <Foo>(2);
            yield break;
        }
示例#30
0
        public void TestFromComponentInPrefabComponent()
        {
            Container.BindFactory <Camera, CameraFactory>().FromComponentInNewPrefab(CameraPrefab).WithGameObjectName("asdf");

            Initialize();

            FixtureUtil.CallFactoryCreateMethod <Camera, CameraFactory>(Container);

            FixtureUtil.AssertComponentCount <Camera>(Container, 1);
            FixtureUtil.AssertNumGameObjects(Container, 1);
            FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1);
        }