public void TestEnableTriggersMediatorEnabled() { mediationBinder.Bind<TestView> ().To<TestMediator> (); injectionBinder.Bind<ClassToBeInjected>().To<ClassToBeInjected>(); TestView view = new TestView (); mediationBinder.Trigger(MediationEvent.AWAKE, view); TestMediator mediator = mediationBinder.mediators[view] as TestMediator; mediationBinder.Trigger(MediationEvent.ENABLED, view); Assert.IsTrue(mediator.enabled); }
public void TestAwakeTriggersInjectionForUnmappedView() { injectionBinder.Bind<ClassToBeInjected> ().To<ClassToBeInjected> (); TestView view = new TestView (); mediationBinder.Trigger (MediationEvent.AWAKE, view); Assert.IsNotNull (view.testInjection); TestMediator mediator = null; if (mediationBinder.mediators.ContainsKey(view)) { mediator = mediationBinder.mediators [view] as TestMediator; } Assert.AreEqual (0, mediationBinder.mediators.Count); Assert.IsNull (mediator); }
public void TestAwakeTriggersMappingAndInjection() { mediationBinder.Bind<TestView> ().To<TestMediator> (); injectionBinder.Bind<ClassToBeInjected> ().To<ClassToBeInjected> (); TestView view = new TestView (); mediationBinder.Trigger (MediationEvent.AWAKE, view); Assert.IsTrue (view.registeredWithContext); Assert.IsNotNull (view.testInjection); TestMediator mediator = mediationBinder.mediators [view] as TestMediator; Assert.AreEqual (1, mediationBinder.mediators.Count); Assert.IsNotNull (mediator); Assert.IsInstanceOf<TestMediator> (mediator); Assert.IsTrue (mediator.preregistered); Assert.IsTrue (mediator.registered); Assert.IsFalse (mediator.removed); }
public void TestAwakeTriggersMappingAndInjection() { mediationBinder.Bind <TestView> ().To <TestMediator> (); injectionBinder.Bind <ClassToBeInjected> ().To <ClassToBeInjected> (); TestView view = new TestView(); mediationBinder.Trigger(MediationEvent.AWAKE, view); Assert.IsTrue(view.registeredWithContext); Assert.IsNotNull(view.testInjection); TestMediator mediator = mediationBinder.mediators [view] as TestMediator; Assert.AreEqual(1, mediationBinder.mediators.Count); Assert.IsNotNull(mediator); Assert.IsInstanceOf <TestMediator> (mediator); Assert.IsTrue(mediator.preregistered); Assert.IsTrue(mediator.registered); Assert.IsFalse(mediator.removed); }
protected override bool HasMediator(IView view, Type mediatorType) { TestView testView = view as TestView; return(testView.HasMediator); }
protected override IView[] GetViews(IView view) { TestView testView = view as TestView; return(testView.Views); }
public void TestMediatorNotEnabledAtCreatioIfDisabledn() { mediationBinder.Bind<TestView>().To<TestMediator>(); injectionBinder.Bind<ClassToBeInjected>().To<ClassToBeInjected>(); TestView view = new TestView(); view.enabled = false; mediationBinder.Trigger(MediationEvent.AWAKE, view); TestMediator mediator = mediationBinder.mediators[view] as TestMediator; Assert.False(mediator.enabled); }
public void TestInjectViews() { injectionBinder.Bind<ClassToBeInjected>().To<ClassToBeInjected>(); TestView view = new TestView(); IView one = new TestView(); IView two = new TestView(); IView three = new TestView(); IView[] views = { view, one, two, three }; view.Views = views; mediationBinder.TestInjectViewAndChildren(view); Assert.AreEqual(true, one.registeredWithContext); Assert.AreEqual(true, two.registeredWithContext); Assert.AreEqual(true, three.registeredWithContext); }
public void TestErrorIfClassMappedToItself() { mediationBinder.Bind<TestView> ().To<TestView> (); injectionBinder.Bind<ClassToBeInjected> ().To<ClassToBeInjected> (); TestView view = new TestView (); TestDelegate testDelegate = delegate { mediationBinder.Trigger (MediationEvent.AWAKE, view); }; MediationException ex = Assert.Throws<MediationException>(testDelegate); //Because we've mapped view to self Assert.AreEqual (MediationExceptionType.MEDIATOR_VIEW_STACK_OVERFLOW, ex.type); }
public void TestDestroyedTriggersUnmapping() { mediationBinder.Bind<TestView> ().To<TestMediator> (); injectionBinder.Bind<ClassToBeInjected> ().To<ClassToBeInjected> (); TestView view = new TestView (); mediationBinder.Trigger (MediationEvent.AWAKE, view); TestMediator mediator = mediationBinder.mediators [view] as TestMediator; mediationBinder.Trigger (MediationEvent.DESTROYED, view); Assert.IsTrue (mediator.removed); Assert.AreEqual (0, mediationBinder.mediators.Count); }