Exemplo n.º 1
0
 public void TestNullAdaptee()
 {
     var treeViewModel = new TreeViewModel();
     treeViewModel.Adaptee = null;
     treeViewModel.AutoExpand = AutoExpandMode.Disabled;
     treeViewModel.ShowRoot = true;
     treeViewModel.CollapseAll();
     treeViewModel.ExpandAll();
     treeViewModel.ExpandToFirstLeaf();
     Assert.False(treeViewModel.GetExpandedItems().Any());
     Assert.Null(treeViewModel.Adaptee);
     Assert.AreEqual(treeViewModel.AutoExpand, AutoExpandMode.Disabled);
     Assert.IsTrue(treeViewModel.ShowRoot);
 }
Exemplo n.º 2
0
        public void TestAdapteeWithJustRoot()
        {
            var treeView = new MyTreeView(); //has a root MyNode

            var treeViewModel = new TreeViewModel();
            var treeViewWithSelection = new TreeViewWithSelection(treeView);
            treeViewModel.Adaptee = treeViewWithSelection;
            treeViewModel.AutoExpand = AutoExpandMode.Disabled;
            treeViewModel.ShowRoot = true;
            treeViewModel.CollapseAll();
            treeViewModel.ExpandAll();
            var expandedItem = treeViewModel.GetExpandedItems().First();
            Assert.AreEqual(expandedItem, treeView.Root);
            Assert.AreEqual(treeViewWithSelection, treeViewModel.Adaptee);
            Assert.AreEqual(treeViewModel.AutoExpand, AutoExpandMode.Disabled);
            Assert.IsTrue(treeViewModel.ShowRoot);
        }
Exemplo n.º 3
0
        public void TestAdaptee()
        {
            // Construct a tree.
            //  root
            //      a
            //          aa
            //          ab
            //      b
            //          ba
            var treeView = new MyItemTreeView();
            var a = new MyNode("a");
            var aa = new MyNode("aa");
            var ab = new MyNode("ab");
            var b = new MyNode("b");
            var ba = new MyNode("ba");
            treeView.Root.Children.Add(a);
            a.Children.Add(aa);
            a.Children.Add(ab);
            treeView.Root.Children.Add(b);
            b.Children.Add(ba);

            var treeViewModel = new TreeViewModel();
            var treeViewWithSelection = new TreeViewWithSelection(treeView);
            treeViewModel.Adaptee = treeViewWithSelection;
            treeViewModel.AutoExpand = AutoExpandMode.Disabled;

            // Test ShowRoot being false.
            treeViewModel.ShowRoot = false;
            treeViewModel.CollapseAll();
            var expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 0);
            var rootModelNode = treeViewModel.Root;
            Assert.IsFalse(rootModelNode.IsVisible);
            Assert.IsFalse(rootModelNode.IsSelected);

            // Expand to first leaf ("aa") with ShowRoot being false.
            Node firstLeaf = treeViewModel.ExpandToFirstLeaf();
            Assert.IsTrue(firstLeaf.Adaptee == aa);
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 3); // the leaf node can be "expanded"
            Assert.IsTrue(expandedList[0] == treeView.Root);
            Assert.IsTrue(expandedList[1] == a);
            Assert.IsTrue(expandedList[2] == aa);

            // Test ShowRoot being true.
            treeViewModel.ShowRoot = true;
            treeViewModel.CollapseAll();
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 0);

            // Expand to first leaf ("aa") with ShowRoot being true.
            firstLeaf = treeViewModel.ExpandToFirstLeaf();
            Assert.IsTrue(firstLeaf.Adaptee == aa);
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 3); // the leaf node can be "expanded"
            Assert.IsTrue(expandedList[0] == treeView.Root);
            Assert.IsTrue(expandedList[1] == a);
            Assert.IsTrue(expandedList[2] == aa);

            // Test ExpandAll
            treeViewModel.ExpandAll();
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 6);

            Assert.AreEqual(treeViewWithSelection, treeViewModel.Adaptee);
            Assert.AreEqual(treeViewModel.AutoExpand, AutoExpandMode.Disabled);
            Assert.IsTrue(treeViewModel.ShowRoot);
        }
Exemplo n.º 4
0
        public void TestGetInfoCalls()
        {
            // Construct a tree.
            //  root
            //      a
            //          aa
            //          ab
            //      b
            //          ba
            var treeView = new MyItemTreeView();
            var a = new MyNode("a");
            var aa = new MyNode("aa");
            var ab = new MyNode("ab");
            var b = new MyNode("b");
            var ba = new MyNode("ba");
            treeView.Root.Children.Add(a);
            a.Children.Add(aa);
            a.Children.Add(ab);
            treeView.Root.Children.Add(b);
            b.Children.Add(ba);

            var treeViewModel = new TreeViewModel(treeView);

            // Test ShowRoot being false.
            treeViewModel.ShowRoot = false;
            treeViewModel.CollapseAll();
            treeView.NodesQueried.Clear();
            treeViewModel.Refresh(treeView.Root); // to call IItemView.GetInfo()
            var expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 0);
            var rootModelNode = treeViewModel.Root;
            Assert.IsFalse(rootModelNode.IsVisible);
            Assert.IsFalse(rootModelNode.IsSelected);
            //IItemView.GetInfo() should not be called on collapsed nodes.
            Assert.IsFalse(treeView.NodesQueried.Contains(aa));

            // Expand to first leaf ("aa") with ShowRoot being false.
            Node firstLeaf = treeViewModel.ExpandToFirstLeaf();
            Assert.IsTrue(firstLeaf.Adaptee == aa);
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 3); // the leaf node can be "expanded"
            Assert.IsTrue(expandedList[0] == treeView.Root);
            Assert.IsTrue(expandedList[1] == a);
            Assert.IsTrue(expandedList[2] == aa);
            treeView.NodesQueried.Clear();
            treeViewModel.Refresh(treeView.Root); // to call IItemView.GetInfo()
            Assert.IsTrue(treeView.NodesQueried.Contains(aa));
            Assert.IsTrue(treeView.NodesQueried.Contains(a));
            Assert.IsFalse(treeView.NodesQueried.Contains(ba));

            // Test ShowRoot being true.
            treeViewModel.ShowRoot = true;
            treeViewModel.CollapseAll();
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 0);

            // Expand to first leaf ("aa") with ShowRoot being true.
            treeView.NodesQueried.Clear();
            firstLeaf = treeViewModel.ExpandToFirstLeaf();
            Assert.IsTrue(firstLeaf.Adaptee == aa);
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 3); // the leaf node can be "expanded"
            Assert.IsTrue(expandedList[0] == treeView.Root);
            Assert.IsTrue(expandedList[1] == a);
            Assert.IsTrue(expandedList[2] == aa);

            // Test ExpandAll
            treeView.NodesQueried.Clear();
            treeViewModel.ExpandAll();
            treeViewModel.Refresh(treeView.Root); // to call IItemView.GetInfo()
            expandedList = treeViewModel.GetExpandedItems().ToList();
            Assert.IsTrue(expandedList.Count == 6);
            Assert.IsTrue(treeView.NodesQueried.Count == 6);

            Assert.AreEqual(treeView, treeViewModel.Adaptee);
            Assert.IsTrue(treeViewModel.ShowRoot);
        }