public void TestCached1() { var gameObject = Container.CreateEmptyGameObject("Foo"); Container.BindInstance(gameObject).WithId("Foo"); Container.Bind <Foo>().FromComponent(gameObject).AsCached(); Container.Bind <IFoo>().To <Foo>().FromComponent(gameObject).AsCached(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <Foo>(); FixtureUtil.AssertComponentCount <Foo>(Container, 2); }
public IEnumerator TestWithAbstractSearchSingleMatch() { PreInstall(); // There are three components that implement INorf on this prefab Container.Bind <INorf>().FromComponentInNewPrefabResource(PathPrefix + "Norf").AsCached().NonLazy(); PostInstall(); FixtureUtil.AssertNumGameObjects(1); FixtureUtil.AssertComponentCount <INorf>(3); FixtureUtil.AssertResolveCount <INorf>(Container, 1); yield break; }
public IEnumerator TestFromNewComponentOnNewGameObjectWithParamsSuccess() { PreInstall(); Container.BindFactory <int, Foo2, Foo2.Factory2>().FromNewComponentOnNewGameObject(); PostInstall(); Container.Resolve <Foo2.Factory2>().Create(5); FixtureUtil.AssertComponentCount <Foo2>(1); FixtureUtil.AssertNumGameObjects(1); yield break; }
public IEnumerator TestFromNewComponentOnNewGameObjectSelf() { PreInstall(); Container.BindFactory <string, Foo, Foo.Factory>().FromNewComponentOnNewGameObject(); AddFactoryUser <Foo, Foo.Factory>(); PostInstall(); FixtureUtil.AssertComponentCount <Foo>(1); FixtureUtil.AssertNumGameObjects(1); yield break; }
public IEnumerator TestToGameObjectConcrete() { PreInstall(); Container.BindFactory <double, int, float, string, char, IFoo, IFooFactory>().To <Foo>().FromNewComponentOnNewGameObject(); AddFactoryUser <IFoo, IFooFactory>(); PostInstall(); FixtureUtil.AssertComponentCount <Foo>(1); FixtureUtil.AssertNumGameObjects(1); yield break; }
public IEnumerator TestMultipleConcreteTransient1() { PreInstall(); Container.Bind <IFoo>().To(typeof(Foo), typeof(Bar)).FromNewComponentOnNewGameObject() .WithGameObjectName(GameObjName).AsTransient().NonLazy(); PostInstall(); FixtureUtil.AssertNumGameObjects(2); FixtureUtil.AssertComponentCount <Foo>(1); FixtureUtil.AssertComponentCount <Bar>(1); yield break; }
public IEnumerator TestConcreteCachedMultipleContracts() { PreInstall(); CommonInstall(); Container.Bind(typeof(Foo), typeof(IFoo)).To <Foo>().FromSubContainerResolve().ByNewContextPrefab(FooPrefab).AsSingle().NonLazy(); PostInstall(); FixtureUtil.AssertNumGameObjects(1); FixtureUtil.AssertComponentCount <Foo>(1); yield break; }
public void TestToMonoBehaviourSelf() { var gameObject = Container.CreateEmptyGameObject("foo"); Container.BindFactory <double, int, float, string, char, Foo, Foo.Factory>().FromNewComponentOn(gameObject); AddFactoryUser <Foo, Foo.Factory>(); Initialize(); FixtureUtil.AssertComponentCount <Foo>(Container, 1); FixtureUtil.AssertNumGameObjects(Container, 1); }
public void TestToPrefabResourceConcrete() { Container.BindFactory <string, IFoo, IFooFactory>().To <Foo>() .FromComponentInNewPrefabResource("TestBindFactoryOne/Foo").WithGameObjectName("asdf"); AddFactoryUser <IFoo, IFooFactory>(); Initialize(); FixtureUtil.AssertComponentCount <Foo>(Container, 1); FixtureUtil.AssertNumGameObjects(Container, 1); FixtureUtil.AssertNumGameObjectsWithName(Container, "asdf", 1); }
public void TestCached1() { Container.Bind <Foo>().FromGameObject().WithGameObjectName(GameObjName).AsCached(); Container.Bind <IFoo>().To <Foo>().FromGameObject().WithGameObjectName(GameObjName).AsCached(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <Foo>(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 2); FixtureUtil.AssertComponentCount <Foo>(Container, 2); }
public void TestMultipleConcreteTransient1() { Container.Bind <IFoo>().To(typeof(Foo), typeof(Bar)).FromGameObject() .WithGameObjectName(GameObjName); Container.BindRootResolve <IFoo>(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 2); FixtureUtil.AssertComponentCount <Foo>(Container, 1); FixtureUtil.AssertComponentCount <Bar>(Container, 1); }
public void TestConcreteCachedMultipleContracts() { Container.Bind(typeof(Foo), typeof(IFoo)).To <Foo>().FromSubContainerResolve().ByPrefabResource(FooResourcePath).AsCached(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <Foo>(); Container.BindRootResolve <Foo>(); FixtureUtil.AssertNumGameObjects(Container, 1); FixtureUtil.AssertComponentCount <Foo>(Container, 1); }
public IEnumerator TestSelfSingleMultipleContracts() { PreInstall(); Container.Bind <Foo>().FromSubContainerResolve().ByNewPrefabResource(FooResourcePath).AsSingle().NonLazy(); Container.Bind <Bar>().FromSubContainerResolve().ByNewPrefabResource(FooResourcePath).AsSingle().NonLazy(); PostInstall(); FixtureUtil.AssertNumGameObjects(1); FixtureUtil.AssertComponentCount <Foo>(1); FixtureUtil.AssertComponentCount <Bar>(1); yield break; }
public IEnumerator TestTransient() { PreInstall(); Container.Bind <Foo>().FromComponentInNewPrefabResource(PathPrefix + "Foo").AsTransient(); Container.Bind <Foo>().FromComponentInNewPrefabResource(PathPrefix + "Foo").AsTransient(); Container.BindRootResolve <Foo>(); PostInstall(); FixtureUtil.AssertComponentCount <Foo>(2); yield break; }
public void TestSingle2() { // For ToPrefab, the 'AsSingle' applies to the prefab and not the type, so this is valid Container.Bind <IFoo>().To <Foo>().FromPrefabResource(PathPrefix + "Foo").AsSingle(); Container.Bind <Foo>().FromPrefabResource(PathPrefix + "Foo2").AsSingle(); Container.Bind <Foo>().FromMethod(ctx => ctx.Container.CreateEmptyGameObject("Foo").AddComponent <Foo>()); Container.BindRootResolve <Foo>(); Container.BindRootResolve <IFoo>(); FixtureUtil.AssertComponentCount <Foo>(Container, 3); FixtureUtil.AssertNumGameObjects(Container, 3); }
public void TestToMonoBehaviourConcrete() { var gameObject = Container.CreateEmptyGameObject("foo"); Container.BindFactory <string, IFoo, IFooFactory>().To <Foo>().FromNewComponentOn(gameObject); AddFactoryUser <IFoo, IFooFactory>(); Initialize(); FixtureUtil.AssertComponentCount <Foo>(Container, 1); FixtureUtil.AssertNumGameObjects(Container, 1); }
public void TestSingleIdentifiers() { Container.Bind <Foo>().FromPrefabResource(PathPrefix + "Foo").WithGameObjectName("Foo").AsSingle(); Container.Bind <Bar>().FromPrefabResource(PathPrefix + "Foo").WithGameObjectName("Foo").AsSingle(); Container.BindRootResolve <Foo>(); Container.BindRootResolve <Bar>(); FixtureUtil.AssertNumGameObjects(Container, 1); FixtureUtil.AssertComponentCount <Foo>(Container, 1); FixtureUtil.AssertComponentCount <Bar>(Container, 1); FixtureUtil.AssertNumGameObjectsWithName(Container, "Foo", 1); }
public void TestSelfTransientMultipleContracts() { Container.Bind(typeof(Foo), typeof(Bar)).FromSubContainerResolve().ByNewPrefab(FooPrefab).AsTransient(); Container.BindRootResolve <Foo>(); Container.BindRootResolve <Bar>(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 2); FixtureUtil.AssertComponentCount <Foo>(Container, 2); FixtureUtil.AssertComponentCount <Bar>(Container, 2); }
public void TestBasic() { var gameObject = Container.CreateEmptyGameObject("Foo"); Container.BindInstance(gameObject, true).WithId("Foo"); Container.Bind <Foo>().FromComponent(gameObject).AsSingle(); Container.BindRootResolve <Foo>(); Initialize(); FixtureUtil.AssertComponentCount <Foo>(Container, 1); }
public void TestConcreteCached() { Container.Bind <IFoo>().To <Foo>().FromSubContainerResolve().ByNewPrefab(FooPrefab).AsCached(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <IFoo>(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 1); FixtureUtil.AssertComponentCount <Foo>(Container, 1); }
public IEnumerator TestSelfCached() { PreInstall(); CommonInstall(); Container.Bind <Foo>().FromSubContainerResolve().ByNewContextPrefab(FooPrefab).AsSingle().NonLazy(); PostInstall(); FixtureUtil.AssertNumGameObjects(1); FixtureUtil.AssertComponentCount <Foo>(1); yield break; }
public void TestSelfTransient() { Container.Bind <Foo>().FromSubContainerResolve().ByNewPrefab(FooPrefab).AsTransient(); Container.BindRootResolve <Foo>(); Container.BindRootResolve <Foo>(); Container.BindRootResolve <Foo>(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 3); FixtureUtil.AssertComponentCount <Foo>(Container, 3); }
public IEnumerator TestToSubContainerPrefabResourceSelf() { PreInstall(); Container.BindFactory <double, int, float, string, char, Foo, Foo.Factory>().FromSubContainerResolve().ByNewPrefabResource <FooInstaller>("TestBindFactoryFive/FooSubContainer"); AddFactoryUser <Foo, Foo.Factory>(); PostInstall(); FixtureUtil.AssertComponentCount <Foo>(1); FixtureUtil.AssertNumGameObjects(1); yield break; }
public void TestConcreteTransient() { Container.Bind <IFoo>().To <Foo>().FromSubContainerResolve().ByPrefabResource(FooResourcePath).AsTransient(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <IFoo>(); Container.BindRootResolve <IFoo>(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 3); FixtureUtil.AssertComponentCount <Foo>(Container, 3); }
public void TestWithArguments() { Container.Bind(typeof(Gorp), typeof(Qux)) .FromPrefabResource(PathPrefix + "GorpAndQux").WithGameObjectName("GorpAndQux").AsCached() .WithArguments(5, "test1").NonLazy(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 1); FixtureUtil.AssertComponentCount <Gorp>(Container, 1); FixtureUtil.AssertComponentCount <Qux>(Container, 1); FixtureUtil.AssertNumGameObjectsWithName(Container, "GorpAndQux", 1); }
public void TestSelfCached() { Container.Bind <Foo>().FromSubContainerResolve().ByPrefabResource(FooResourcePath).AsCached(); Container.BindRootResolve <Foo>(); Container.BindRootResolve <Foo>(); Container.BindRootResolve <Foo>(); Initialize(); FixtureUtil.AssertNumGameObjects(Container, 1); FixtureUtil.AssertComponentCount <Foo>(Container, 1); }
public IEnumerator TestToSubContainerPrefabResourceConcrete() { PreInstall(); Container.BindFactory <IFoo, IFooFactory>() .To <Foo>().FromSubContainerResolve().ByNewPrefabResource("TestBindFactory/FooSubContainer"); PostInstall(); FixtureUtil.CallFactoryCreateMethod <IFoo, IFooFactory>(Container); FixtureUtil.AssertComponentCount <Foo>(1); FixtureUtil.AssertNumGameObjects(1); yield break; }
public IEnumerator TestSelfTransient() { PreInstall(); CommonInstall(); Container.Bind <Foo>().FromSubContainerResolve().ByNewContextPrefabResource(FooResourcePath).AsTransient().NonLazy(); PostInstall(); FixtureUtil.AssertNumGameObjects(1); FixtureUtil.AssertComponentCount <Foo>(1); yield break; }
public IEnumerator TestToSubContainerPrefabSelf() { PreInstall(); Container.BindFactory <Foo, Foo.Factory>().FromSubContainerResolve().ByNewPrefab(FooSubContainerPrefab); PostInstall(); FixtureUtil.CallFactoryCreateMethod <Foo, Foo.Factory>(Container); FixtureUtil.AssertComponentCount <Foo>(1); FixtureUtil.AssertNumGameObjects(1); yield break; }
public void TestTransient() { var gameObject = Container.CreateEmptyGameObject("Foo"); Container.BindInstance(gameObject).WithId("Foo"); Container.Bind <Foo>().FromComponent(gameObject).AsTransient(); Container.Bind <IFoo>().To <Foo>().FromComponent(gameObject).AsTransient(); Container.BindRootResolve(new[] { typeof(IFoo), typeof(Foo) }); FixtureUtil.AssertComponentCount <Foo>(Container, 2); }