Exemple #1
0
        public void CheckAddChild(int id, int?position)
        {
            var nodeAdded        = new NestedTree(id);
            var positionExpected = position.HasValue
                    ? position.Value
                    : -1;
            int maxValue = _root.Children.Count();

            if (positionExpected < 0)
            {
                positionExpected = maxValue;
            }
            positionExpected = positionExpected.Clamp(0, maxValue);
            if (position.HasValue)
            {
                _root.AddChild(nodeAdded, position.Value);
            }
            else
            {
                _root.AddChild(nodeAdded);
            }
            Assert.Contains(_root.Children, n => n.Id == id);
            Assert.Equal(_root, nodeAdded.Parent);
            Assert.Equal(_root.Children.ElementAt(positionExpected), nodeAdded);
        }
Exemple #2
0
        public TreeNodeTest()
        {
            var leaves = new List <NestedTree>();
            int i      = 0;
            var n0     = new NestedTree(i++);        //0
            var n0_1   = new NestedTree(i++, n0);    //1
            var n0_2   = new NestedTree(i++, n0);    //2-

            leaves.Add(new NestedTree(i++, n0_1));   //3
            leaves.Add(new NestedTree(i++, n0_1));   //4
            var n0_2_5 = new NestedTree(i++, n0_2);  //5-

            leaves.Add(new NestedTree(i++, n0_2));   //6-
            leaves.Add(new NestedTree(i++, n0_2_5)); //7-
            _root      = n0;
            _leaves    = leaves;
            _node0_2_5 = n0_2_5;
            _size      = i;
        }