public void TestRbacGeorge() { foreach (Pool pool in RunTest(GetAnyPool)) { MW(delegate { Command.Execute(); AddServerDialogWrapper addServerDialogWrapper = new AddServerDialogWrapper(WaitForWindowToAppear("Add New Server")); Thread.Sleep(500); Assert.IsNotNull(addServerDialogWrapper, "AddServerDialogWrapper was null"); Assert.IsNotNull(addServerDialogWrapper.ServerNameComboBox, "ServerNameComboBox was null"); Assert.IsNotNull(addServerDialogWrapper.AddButton, "AddButton was null"); addServerDialogWrapper.ServerNameComboBox.Text = GetTestResource(CommandTestsDatabase.SingleHost); addServerDialogWrapper.AddButton.PerformClick(); }); Func <bool> finished = delegate { VirtualTreeView.VirtualTreeNodeCollection poolNodes = MainWindowWrapper.TreeView.Nodes[0].Nodes[0].Nodes; return(poolNodes.Count > 2 && poolNodes[0].Text == "inflames" && poolNodes[1].Text == "incubus" && poolNodes[2].Text == "krakout"); }; // wait until command finished. MWWaitFor(finished, "AddNewHostToPoolCommandTest.TestRbacGeorge() didn't finish."); } }
private static void AssertTreeViewsSame(VirtualTreeView.VirtualTreeNodeCollection nodes1, VirtualTreeView.VirtualTreeNodeCollection nodes2) { if (nodes1.Count != nodes2.Count) { var info = new StringBuilder(); for (int i = 0; i < Math.Max(nodes1.Count, nodes2.Count); i++) { info.AppendFormat("[{0},{1}]", nodes1.Count > i ? nodes1[i].Text : "", nodes2.Count > i ? nodes2[i].Text : ""); } Assert.AreEqual(nodes1.Count, nodes2.Count, "The number of nodes is different between the 2 NodeCollections: " + info); } for (int i = 0; i < nodes1.Count; i++) { Assert.AreEqual(nodes1[i].Text, nodes2[i].Text, "The text is different between the nodes."); if (nodes1[i].Tag == null) { Assert.IsNull(nodes2[i].Tag, "The tags are different between the nodes."); } else { Assert.AreEqual(nodes1[i].Tag.ToString(), nodes2[i].Tag.ToString(), "The tags are different between the nodes."); } Assert.AreEqual(nodes1[i].ImageIndex, nodes2[i].ImageIndex, "The image indexes are different between the nodes for " + nodes1[i].Text); AssertTreeViewsSame(nodes1[i].Nodes, nodes2[i].Nodes); } }
private void SaveNodes(VirtualTreeView.VirtualTreeNodeCollection nodesCollection, XmlTextWriter textWriter) { for (int i = 0; i < nodesCollection.Count; i++) { VirtualTreeNode node = nodesCollection[i]; textWriter.WriteStartElement(XmlNodeTag); textWriter.WriteAttributeString(XmlNodeTextAtt, node.Text); textWriter.WriteAttributeString(XmlNodeImageIndexAtt, ((Icons)(node.ImageIndex)).ToString()); if (node.Tag != null) { textWriter.WriteAttributeString(XmlNodeTagAtt, node.Tag.ToString()); } // add other node properties to serialize here if (node.Nodes.Count > 0) { SaveNodes(node.Nodes, textWriter); } textWriter.WriteEndElement(); } }
private bool Finished() { VirtualTreeView.VirtualTreeNodeCollection poolNodes = MainWindowWrapper.TreeView.Nodes[0].Nodes[0].Nodes; return(poolNodes.Count > 2 && poolNodes[0].Text == "inflames" && poolNodes[1].Text == "incubus" && poolNodes[2].Text == "krakout"); }
/// <summary> /// Initializes a new instance of the <see cref="VirtualTreeNode"/> class. /// </summary> /// <param name="text">The text.</param> public VirtualTreeNode(string text) : base(text) { _nodes = new VirtualTreeView.VirtualTreeNodeCollection(this); }