public void TestSingletonToValueBinding() { InjectableSuperClass instance = new InjectableSuperClass(); InjectionBinding binding = binder.Bind <InjectableSuperClass> ().ToSingleton().ToValue(instance) as InjectionBinding; Assert.AreEqual(InjectionBindingType.VALUE, binding.type); }
public void TestInjectionProvideIntDependency() { binder.Bind <InjectableSuperClass> ().To <InjectableSuperClass> (); binder.Bind <int> ().ToValue(42); InjectableSuperClass testValue = binder.GetInstance <InjectableSuperClass> () as InjectableSuperClass; Assert.IsNotNull(testValue); Assert.That(testValue.intValue == 42); }
public void TestRemoveDependency() { binder.Bind <InjectableSuperClass> ().To <InjectableSuperClass> (); binder.Bind <int> ().ToValue(42); InjectableSuperClass testValueBeforeUnbinding = binder.GetInstance <InjectableSuperClass> () as InjectableSuperClass; Assert.IsNotNull(testValueBeforeUnbinding); Assert.That(testValueBeforeUnbinding.intValue == 42); binder.Unbind <int> (); TestDelegate testDelegate = delegate() { binder.GetInstance <InjectableSuperClass> (); }; InjectionException ex = Assert.Throws <InjectionException> (testDelegate); Assert.That(ex.type == InjectionExceptionType.NULL_BINDING); }
public void TestNamedInjections() { InjectableSuperClass testValue = new InjectableSuperClass (); float defaultFloatValue = testValue.floatValue; testValue.floatValue = 3.14f; binder.Bind<int> ().ToValue (20); binder.Bind<InjectableSuperClass> ().To<InjectableSuperClass> ().ToName (SomeEnum.ONE); binder.Bind<InjectableSuperClass> ().ToName<MarkerClass> ().ToValue(testValue); binder.Bind<HasNamedInjections> ().To<HasNamedInjections> (); HasNamedInjections instance = binder.GetInstance<HasNamedInjections> () as HasNamedInjections; Assert.IsNotNull (instance); Assert.IsNotNull (instance.injectionOne); Assert.IsNotNull (instance.injectionTwo); Assert.AreEqual (20, instance.injectionOne.intValue); Assert.AreEqual (20, instance.injectionTwo.intValue); Assert.That (instance.injectionOne.floatValue == defaultFloatValue); Assert.That (instance.injectionTwo.floatValue == 3.14f); }
public void TestNamedInstances() { InjectableSuperClass testValue = new InjectableSuperClass(); float defaultFloatValue = testValue.floatValue; testValue.floatValue = 3.14f; binder.Bind <int> ().ToValue(20); binder.Bind <InjectableSuperClass> ().ToSingleton().ToName(SomeEnum.ONE); binder.Bind <InjectableSuperClass> ().ToName <MarkerClass> ().ToValue(testValue); binder.Bind <HasNamedInjections> ().To <HasNamedInjections> (); HasNamedInjections instance = binder.GetInstance <HasNamedInjections> () as HasNamedInjections; Assert.IsNotNull(instance); Assert.IsNotNull(instance.injectionOne); Assert.IsNotNull(instance.injectionTwo); Assert.AreEqual(20, instance.injectionOne.intValue); Assert.AreEqual(20, instance.injectionTwo.intValue); Assert.That(instance.injectionOne.floatValue == defaultFloatValue); Assert.That(instance.injectionTwo.floatValue == 3.14f); }
public void TestValueToSingletonBinding() { InjectableSuperClass instance = new InjectableSuperClass (); InjectionBinding binding = binder.Bind<InjectableSuperClass> ().ToValue (instance).ToSingleton() as InjectionBinding; Assert.AreEqual (InjectionBindingType.VALUE, binding.type); }