public void TestRedrawOnChangeState() { // <MyComponent style="1" id="first"> // <MyComponent style="2" id="second"></MyComponent> // </MyComponent> // <div style="1"> // <div style="2"></div> // </div> var rootBlueprint = ComponentBlueprint.From <MyComponent, MyComponentProps>(new MyComponentProps { Style = "1", Id = "first", Children = new Blueprint[] { ComponentBlueprint.From <MyComponent, MyComponentProps>(new MyComponentProps { Style = "2", Id = "second", }), }, }); var document = new TestHtmlDocument(); var renderer = new DomRenderer(document); var renderNode = renderer.Mount(rootBlueprint); var expected = "<div style=\"1\"><div style=\"2\"></div></div>"; Assert.AreEqual(renderNode.RootNodes[0].ToString(), expected); MyComponent.Click("first"); expected = "<div style=\"1 clicked\"><div style=\"2\"></div></div>"; Assert.AreEqual(renderNode.RootNodes[0].ToString(), expected); }