using NUnit.Framework; using Assert = ModestTree.Assert; namespace Zenject.Tests.Other { [TestFixture] public class TestNestedContainer : ZenjectUnitTestFixture { public interface IFoo { int GetBar(); } public class Foo : IFoo { public int GetBar() { return 0; } } public class Foo2 : IFoo { public int GetBar() { return 1; } } [Test] public void TestCase1() { var container1 = new DiContainer(); Assert.Throws(() => container1.Resolve()); Assert.Throws(() => Container.Resolve()); Container.Bind().To().AsSingle(); Assert.Throws(() => container1.Resolve()); Assert.IsEqual(Container.Resolve().GetBar(), 0); var container2 = Container.CreateSubContainer(); Assert.IsEqual(container2.Resolve().GetBar(), 0); Assert.IsEqual(Container.Resolve().GetBar(), 0); container2.Bind().To().AsSingle(); Assert.IsEqual(container2.Resolve().GetBar(), 1); Assert.IsEqual(Container.Resolve().GetBar(), 0); } } }