12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Terminal.Gui;
- using Xunit;
- namespace UnitTests {
- public class TreeViewTests
- {
- #region Test Setup Methods
- class Factory
- {
- public Car[] Cars {get;set;}
- };
- class Car {
- };
-
- private TreeView CreateTree()
- {
- return CreateTree(out _, out _, out _);
- }
- private TreeView CreateTree(out Factory factory1, out Car car1, out Car car2)
- {
- car1 = new Car();
- car2 = new Car();
- factory1 = new Factory()
- {
- Cars = new []{car1 ,car2}
- };
-
- var tree = new TreeView();
- tree.ChildrenGetter = (s)=> s is Factory f ? f.Cars: null;
- tree.AddObject(factory1);
- return tree;
- }
- #endregion
- [Fact]
- public void ScrollOffset_CannotBeNegative()
- {
- var tree = CreateTree();
- Assert.Equal(0,tree.ScrollOffset);
- tree.ScrollOffset = -100;
- Assert.Equal(0,tree.ScrollOffset);
-
- tree.ScrollOffset = 10;
- Assert.Equal(10,tree.ScrollOffset);
- }
- [Fact]
- public void GetScrollOffsetOf_MinusOneForUnRevealed()
- {
- var tree = CreateTree(out Factory f, out Car c1, out Car c2);
-
- Assert.Equal(0,tree.GetScrollOffsetOf(f));
- Assert.Equal(-1,tree.GetScrollOffsetOf(c1));
- Assert.Equal(-1,tree.GetScrollOffsetOf(c2));
- //reveal it by expanding the root object
- tree.Expand(f);
-
- Assert.Equal(0,tree.GetScrollOffsetOf(f));
- Assert.Equal(1,tree.GetScrollOffsetOf(c1));
- Assert.Equal(2,tree.GetScrollOffsetOf(c2));
- tree.Collapse(f);
-
- Assert.Equal(0,tree.GetScrollOffsetOf(f));
- Assert.Equal(-1,tree.GetScrollOffsetOf(c1));
- Assert.Equal(-1,tree.GetScrollOffsetOf(c2));
- }
- }
- }
|