Update Project

This commit is contained in:
2026-03-20 13:04:43 +02:00
parent 9b587e6cba
commit beae2dea89
2295 changed files with 251259 additions and 33 deletions
@@ -0,0 +1,92 @@
using NUnit.Framework;
using Assert = ModestTree.Assert;
namespace Zenject.Tests.Other
{
[TestFixture]
public class TestBindingInheritanceMethod : ZenjectUnitTestFixture
{
[Test]
public void TestNoCopy()
{
Container.Bind<Foo>().AsSingle();
var sub1 = Container.CreateSubContainer();
Assert.IsEqual(sub1.Resolve<Foo>(), Container.Resolve<Foo>());
}
[Test]
public void TestCopyIntoAll1()
{
Container.Bind<Foo>().AsSingle().CopyIntoAllSubContainers();
var sub1 = Container.CreateSubContainer();
Assert.IsNotEqual(sub1.Resolve<Foo>(), Container.Resolve<Foo>());
}
[Test]
public void TestCopyIntoAll2()
{
Container.Bind<IBar>().To<Bar>().FromResolve().CopyIntoAllSubContainers();
Container.Bind<Bar>().AsSingle();
var sub1 = Container.CreateSubContainer();
Assert.IsEqual(Container.ResolveAll<IBar>().Count, 1);
Assert.IsEqual(sub1.ResolveAll<IBar>().Count, 2);
}
[Test]
public void TestCopyDirect1()
{
Container.Bind<Foo>().AsSingle().CopyIntoDirectSubContainers();
var sub1 = Container.CreateSubContainer();
var sub2 = sub1.CreateSubContainer();
Assert.That(Container.HasBindingId(typeof(Foo), null, InjectSources.Local));
Assert.That(sub1.HasBindingId(typeof(Foo), null, InjectSources.Local));
Assert.That(!sub2.HasBindingId(typeof(Foo), null, InjectSources.Local));
}
[Test]
public void TestMoveDirect1()
{
Container.Bind<Foo>().AsSingle().MoveIntoDirectSubContainers();
var sub1 = Container.CreateSubContainer();
var sub2 = sub1.CreateSubContainer();
Assert.That(!Container.HasBindingId(typeof(Foo), null, InjectSources.Local));
Assert.That(sub1.HasBindingId(typeof(Foo), null, InjectSources.Local));
Assert.That(!sub2.HasBindingId(typeof(Foo), null, InjectSources.Local));
}
[Test]
public void TestMoveAll()
{
Container.Bind<Foo>().AsSingle().MoveIntoAllSubContainers();
var sub1 = Container.CreateSubContainer();
var sub2 = sub1.CreateSubContainer();
Assert.That(!Container.HasBindingId(typeof(Foo), null, InjectSources.Local));
Assert.That(sub1.HasBindingId(typeof(Foo), null, InjectSources.Local));
Assert.That(sub2.HasBindingId(typeof(Foo), null, InjectSources.Local));
}
public interface IBar
{
}
public class Foo
{
}
public class Bar : IBar
{
}
}
}