public void ViewBuilding() { var view = new TestView1(); var subviews = new ViewHierarchy(view, new FakeViewHierarchyBuilder()); Assert.AreEqual(2, view.Subviews.Count, "View marked with View attribute added into parent view"); Assert.AreEqual(2, subviews.Subviews.Count(), "View hierarchy contains all views marked with View attribute"); Assert.IsNotNull(view.View1, "Child views created and set"); Assert.IsNotNull(view.View2, "View wrappers created and set"); Assert.IsNotNull(view.View2.PlatformView, "Platform views created in view wrappers"); }
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"); }