public void TestBindToAbstraction()
        {
            string jsonString = "[{\"Bind\":\"strange.unittests.TestView2\",\"To\":\"strange.unittests.TestMediator\",\"ToAbstraction\":\"strange.unittests.TestView\"}]";

            mediationBinder.ConsumeBindings(jsonString);
            injectionBinder.Bind <ClassToBeInjected> ().To <ClassToBeInjected> ();


            IBinding binding = mediationBinder.GetBinding <TestView2> ();

            Assert.NotNull(binding);
            Assert.AreEqual((binding as IMediationBinding).key, typeof(TestView2));

            object[] value = (binding as IMediationBinding).value as object[];
            Assert.Contains(typeof(TestMediator), value);

            TestView2 view = new TestView2();

            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.IsInstanceOf <TestView2> (mediator.view);
        }
Exemplo n.º 2
0
        public void Decorating()
        {
            var view     = new TestView2();
            var subviews = new ViewHierarchy(view, new FakeViewHierarchyBuilder());

            CollectionAssert.AreEqual(new [] { "Applied", "Applied" }, new [] { view.View1.Info["Style1"], view.View1.Info["Style2"] },
                                      "Multiple styles applied");

            Assert.IsFalse(view.View2.PlatformView.Info.ContainsKey("Style1"),
                           "Style1 not applied to view wrapper due to type mismatch");
            Assert.AreEqual("Applied", view.View2.PlatformView.Info["Style3"],
                            "Stype3 applied to view wrapper");
        }
		public void TestBindToAbstraction()
		{
			string jsonString = "[{\"Bind\":\"strange.unittests.TestView2\",\"To\":\"strange.unittests.TestMediator\",\"ToAbstraction\":\"strange.unittests.TestView\"}]";

			mediationBinder.ConsumeBindings (jsonString);
			injectionBinder.Bind<ClassToBeInjected> ().To<ClassToBeInjected> ();


			IBinding binding = mediationBinder.GetBinding<TestView2> ();
			Assert.NotNull (binding);
			Assert.AreEqual ((binding as IMediationBinding).key, typeof(TestView2));

			object[] value = (binding as IMediationBinding).value as object[];
			Assert.Contains (typeof(TestMediator), value);

			TestView2 view = new TestView2 ();
			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.IsInstanceOf<TestView2> (mediator.view);
		}