using System.Collections; using ModestTree; using UnityEngine; using UnityEngine.TestTools; namespace Zenject.Tests.Bindings.FromGameObjectInstaller { public class TestFromGameObjectInstaller : ZenjectIntegrationTestFixture { [UnityTest] public IEnumerator TestInstaller() { PreInstall(); Container.Bind().FromSubContainerResolve() .ByNewGameObjectInstaller().AsCached(); PostInstall(); Assert.IsEqual(Container.Resolve().Data, "asdf"); yield break; } [UnityTest] public IEnumerator TestMethod() { PreInstall(); Container.Bind().FromSubContainerResolve() .ByNewGameObjectMethod(InstallFoo).AsCached(); PostInstall(); Assert.IsEqual(Container.Resolve().Data, "asdf"); yield break; } void InstallFoo(DiContainer subContainer) { subContainer.Bind().AsSingle().WithArguments("asdf"); } public class Qux { [Inject] public string Data; } public class FooInstaller : Installer { public override void InstallBindings() { Container.Bind().AsSingle().WithArguments("asdf"); } } } }