Example #1
0
        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");
 }
Example #5
0
 /// <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);
 }