Index: test/Common/DelftTools.Tests/Controls/Swf/TreeViewControls/TreeViewTest.cs =================================================================== diff -u -r89a1f10b30400ae7b2cb1fb364610407a389cfa5 -r5fc71a385897af92ccb092f2f969b5709afab85a --- test/Common/DelftTools.Tests/Controls/Swf/TreeViewControls/TreeViewTest.cs (.../TreeViewTest.cs) (revision 89a1f10b30400ae7b2cb1fb364610407a389cfa5) +++ test/Common/DelftTools.Tests/Controls/Swf/TreeViewControls/TreeViewTest.cs (.../TreeViewTest.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a) @@ -19,7 +19,7 @@ public class TreeViewTest { private readonly MockRepository mockRepository = new MockRepository(); - + /// /// Assure the correct node is returned containing a specific tag /// @@ -66,7 +66,10 @@ { var treeView = new TreeView(); - var parent = new Parent {Name = "parent1"}; + var parent = new Parent + { + Name = "parent1" + }; var child = new Child(); parent.Children.Add(child); @@ -96,27 +99,56 @@ */ var treeView = new TreeView(); - ITreeNode rootNode = new MockTestNode(treeView, true) {Text = "RootNode"}; - var loadedChild = new MockTestNode(treeView, true) {Text = "LoadedChild"}; + ITreeNode rootNode = new MockTestNode(treeView, true) + { + Text = "RootNode" + }; + var loadedChild = new MockTestNode(treeView, true) + { + Text = "LoadedChild" + }; rootNode.Nodes.Add(loadedChild); - var notLoadedChild = new MockTestNode(treeView, false) {Text = "NotLoadedChild"}; + var notLoadedChild = new MockTestNode(treeView, false) + { + Text = "NotLoadedChild" + }; rootNode.Nodes.Add(notLoadedChild); - var loadedChild2 = new MockTestNode(treeView, true) {Text = "LoadedChild2"}; + var loadedChild2 = new MockTestNode(treeView, true) + { + Text = "LoadedChild2" + }; rootNode.Nodes.Add(loadedChild2); - var loadedGrandChild = new MockTestNode(treeView, true) {Text = "LoadedGrandChild"}; + var loadedGrandChild = new MockTestNode(treeView, true) + { + Text = "LoadedGrandChild" + }; loadedChild2.Nodes.Add(loadedGrandChild); - var notLoadedChild2 = new MockTestNode(treeView, false) {Text = "NotLoadedChild2"}; + var notLoadedChild2 = new MockTestNode(treeView, false) + { + Text = "NotLoadedChild2" + }; rootNode.Nodes.Add(notLoadedChild2); - notLoadedChild2.Nodes.Add(new MockTestNode(treeView, true) {Text = "LoadedGrandChild2"}); + notLoadedChild2.Nodes.Add(new MockTestNode(treeView, true) + { + Text = "LoadedGrandChild2" + }); //reset the loaded flag. It was set set to true by the previous call notLoadedChild2.SetLoaded(false); treeView.Nodes.Add(rootNode); Assert.AreEqual( - new[] {rootNode, loadedChild, notLoadedChild, loadedChild2, loadedGrandChild, notLoadedChild2}, + new[] + { + rootNode, + loadedChild, + notLoadedChild, + loadedChild2, + loadedGrandChild, + notLoadedChild2 + }, treeView.AllLoadedNodes.ToArray()); } @@ -131,13 +163,13 @@ var treeView = new TreeView(); var node1 = treeView.NewNode(); - + var node2 = treeView.NewNode(); node1.Nodes.Add(node2); var node3 = treeView.NewNode(); node2.Nodes.Add(node3); - + treeView.Nodes.Add(node1); // expand all nodes @@ -157,13 +189,31 @@ // n1 // n2 // n3 - var parent = new Child { Name = "n1", Children = { new Child { Name = "n2", Children = { new Child { Name = "n3" } } } } }; + var parent = new Child + { + Name = "n1", Children = + { + new Child + { + Name = "n2", Children = + { + new Child + { + Name = "n3" + } + } + } + } + }; var treeView = new TreeView - { - NodePresenters = {new ChildNodePresenter()}, - Data = parent - }; + { + NodePresenters = + { + new ChildNodePresenter() + }, + Data = parent + }; // expand / collapse / expand treeView.ExpandAll(); @@ -189,7 +239,7 @@ node1.Nodes.Add(node3); node1.Nodes.Count - .Should().Be.EqualTo(2); + .Should().Be.EqualTo(2); } [Test] @@ -208,13 +258,19 @@ node1.Expand(); node1.Nodes.Count - .Should().Be.EqualTo(2); + .Should().Be.EqualTo(2); } [Test] public void SelectedNodeSetToRootNodeAfterDataSet() { - var treeView = new TreeView {NodePresenters = {new ParentNodePresenter()}}; + var treeView = new TreeView + { + NodePresenters = + { + new ParentNodePresenter() + } + }; var rootObject = new Parent(); @@ -233,11 +289,14 @@ [Test] public void TreeNodesRemainExpandedForDynamicNodes() { - var treeView = new TreeView { NodePresenters = - { - new DynamicParentNodePresenter(), - new ChildNodePresenter() - } }; + var treeView = new TreeView + { + NodePresenters = + { + new DynamicParentNodePresenter(), + new ChildNodePresenter() + } + }; var parent = new Parent(); treeView.Data = parent; @@ -251,51 +310,46 @@ treeView.Nodes[0].Nodes[0].IsExpanded.Should("node remains expanded").Be.True(); } - public class DynamicParentNodePresenter : TreeViewNodePresenterBase - { - public override void UpdateNode(ITreeNode parentNode, ITreeNode node, Parent nodeData) - { - node.Text = nodeData.Name; - } - - public override IEnumerable GetChildNodeObjects(Parent parentNodeData, ITreeNode node) - { - // always returns a single child with the same name - yield return new Child { Name = "child", Children = { new Child { Name = "grandchild" } } }; - } - } - [Test] public void TreeViewUpdateOnManyPropertyChangesShouldBeFast(string a) { - var parent = new Child { Name = "parent" }; + var parent = new Child + { + Name = "parent" + }; for (var i = 0; i < 100; i++) { - parent.Children.Add(new Child { Name = i.ToString() }); + parent.Children.Add(new Child + { + Name = i.ToString() + }); } // measure time to perform action without tree view Func processingAction = () => - { - var stopwatch = new Stopwatch(); - stopwatch.Start(); - var rnd = new Random(); - for (var i = 0; i < 99; i++) - { - var child = parent.Children[rnd.Next(99)]; - child.Name = i.ToString(); - } - stopwatch.Stop(); + { + var stopwatch = new Stopwatch(); + stopwatch.Start(); + var rnd = new Random(); + for (var i = 0; i < 99; i++) + { + var child = parent.Children[rnd.Next(99)]; + child.Name = i.ToString(); + } + stopwatch.Stop(); - return stopwatch.ElapsedMilliseconds; - }; + return stopwatch.ElapsedMilliseconds; + }; Console.WriteLine("Elapsed time to perform action without tree view: " + processingAction()); var treeView = new TreeView { - NodePresenters = { new ChildNodePresenter() }, + NodePresenters = + { + new ChildNodePresenter() + }, Data = parent }; @@ -304,23 +358,45 @@ double elapsedMillisecondsWithTreeView = 0; Action
onShow = delegate - { - var stopwatch = new Stopwatch(); - stopwatch.Start(); + { + var stopwatch = new Stopwatch(); + stopwatch.Start(); - elapsedMillisecondsWithTreeView = processingAction(); - Console.WriteLine("Elapsed time to perform action with tree view: " + elapsedMillisecondsWithTreeView); + elapsedMillisecondsWithTreeView = processingAction(); + Console.WriteLine("Elapsed time to perform action with tree view: " + elapsedMillisecondsWithTreeView); - treeView.WaitUntilAllEventsAreProcessed(); + treeView.WaitUntilAllEventsAreProcessed(); - stopwatch.Stop(); - Console.WriteLine("Elapsed time to refresh tree view: " + stopwatch.ElapsedMilliseconds); - }; + stopwatch.Stop(); + Console.WriteLine("Elapsed time to refresh tree view: " + stopwatch.ElapsedMilliseconds); + }; WindowsFormsTestHelper.ShowModal(treeView, onShow); TestHelper.AssertIsFasterThan(10, () => Thread.Sleep((int) elapsedMillisecondsWithTreeView)); } + public class DynamicParentNodePresenter : TreeViewNodePresenterBase + { + public override void UpdateNode(ITreeNode parentNode, ITreeNode node, Parent nodeData) + { + node.Text = nodeData.Name; + } + + public override IEnumerable GetChildNodeObjects(Parent parentNodeData, ITreeNode node) + { + // always returns a single child with the same name + yield return new Child + { + Name = "child", Children = + { + new Child + { + Name = "grandchild" + } + } + }; + } + } } } \ No newline at end of file