using NUnit.Framework; using Assert = ModestTree.Assert; namespace Zenject.Tests.Injection { [TestFixture] public class TestStructInjection : ZenjectUnitTestFixture { struct Test1 { } class Test2 { public Test2(Test1 t1) { } } [Test] public void TestInjectStructIntoClass() { Container.Bind().FromInstance(new Test1()).NonLazy(); Container.Bind().AsSingle().NonLazy(); Container.ResolveRoots(); var t2 = Container.Resolve(); Assert.That(t2 != null); } struct Test3 { [Inject] #pragma warning disable 649 public int ValueField; #pragma warning restore 649 [Inject] public string ValueProperty { get; private set; } public float ValueConstructor { get; private set; } } [Test] public void TestInjectFieldsOfStruct() { Container.BindInstance("asdf"); Container.BindInstance(5); Container.Bind().AsSingle(); var test3 = Container.Instantiate(); Assert.IsEqual(test3.ValueProperty, "asdf"); Assert.IsEqual(test3.ValueField, 5); } struct Test4 { public Test4(string value) { Value = value; } public string Value { get; private set; } } [Test] public void TestInjectConstructorOfStruct() { Container.BindInstance("asdf"); Container.Bind().AsSingle(); var test4 = Container.Instantiate(); Assert.IsEqual(test4.Value, "asdf"); } } }