public void SimpleTest() { var input = new Collection<XamlNode> { x.StartObject<Item>(), x.StartMember<Item>(i => i.Template), x.StartObject<Template>(), x.StartMember<Template>(i => i.Content), x.StartObject<Grid>(), x.EndObject(), x.EndMember(), x.EndObject(), x.EndMember(), x.EndObject(), }; var sut = new TemplateHostingObjectAssembler(new ObjectAssembler(WiringContext)); var assembler = new DummyDeferredObjectAssembler(); sut.DeferredAssembler<Template>(t => t.Content, assembler); foreach (var xamlNode in input) { sut.WriteNode(xamlNode); } var actualNodes = sut.NodeList; var expectedNodes = new Collection<XamlNode> { x.StartObject<Grid>(), x.EndObject(), }; CollectionAssert.AreEqual(expectedNodes, actualNodes); Assert.IsNotNull(((Item) sut.Result).Template.Content); }