Files

41 lines
1.1 KiB
C#

using System.Linq;
using NUnit.Framework;
using Assert = ModestTree.Assert;
namespace Zenject.Tests.Conditions
{
[TestFixture]
public class TestConditionsComplex : ZenjectUnitTestFixture
{
class Foo
{
}
class Bar
{
public Foo Foo;
public Bar(Foo foo)
{
Foo = foo;
}
}
[Test]
public void TestCorrespondingIdentifiers()
{
var foo1 = new Foo();
var foo2 = new Foo();
Container.Bind<Bar>().WithId("Bar1").AsTransient().NonLazy();
Container.Bind<Bar>().WithId("Bar2").AsTransient().NonLazy();
Container.BindInstance(foo1).When(c => c.ParentContexts.Where(x => x.MemberType == typeof(Bar) && Equals(x.Identifier, "Bar1")).Any());
Container.BindInstance(foo2).When(c => c.ParentContexts.Where(x => x.MemberType == typeof(Bar) && Equals(x.Identifier, "Bar2")).Any());
Assert.IsEqual(Container.ResolveId<Bar>("Bar1").Foo, foo1);
Assert.IsEqual(Container.ResolveId<Bar>("Bar2").Foo, foo2);
}
}
}