Пример #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);
        }
Пример #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);
        }
Пример #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);
        }
Пример #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);
        }