public void NavigateCheckerboardExitUp() { navigationWrap = GridNavigationWrap.None; SetLayout( "x x x ", " x x ", "x x x ", " x x ", " "); UserInterfaceAction?parentNavigate = null; parent.Setup(x => x.OnChildAction(grid, It.IsAny <UserInterfaceActionEventArgs>())) .Callback <IRenderElement, UserInterfaceActionEventArgs>((_, args) => { parentNavigate = args.Action; }); grid.FocusPoint.Should().Be(Point.Zero); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(0, 2)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(0, 0)); parentNavigate.Should().BeNull(); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(0, 0)); parentNavigate.Should().Be(UserInterfaceAction.Up); }
public void SparseNavigateCheckerboard() { navigationWrap = GridNavigationWrap.Sparse; SetLayout( "x x x ", " x x ", "x x x ", " x x ", " "); grid.FocusPoint.Should().Be(Point.Zero); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(2, 0)); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(2, 2)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(4, 2)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(4, 0)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(1, 1)); }
public void DenseNavigate() { navigationWrap = GridNavigationWrap.Dense; SetLayout( "x xxx", " x xx", "x xx", " x x ", " xxx ", "x x"); grid.FocusPoint.Should().Be(Point.Zero); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(2, 0)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(3, 0)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(4, 0)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(0, 0)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(4, 0)); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(4, 1)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(1, 1)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(3, 1)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(4, 1)); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(4, 2)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(0, 2)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(3, 2)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(4, 2)); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(4, 5)); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(4, 0)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(4, 5)); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(4, 0)); grid.MoveLeft(); grid.MoveDown(); grid.MoveDown(); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(3, 3)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(1, 3)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(3, 3)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(1, 3)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(3, 3)); grid.MoveDown(); grid.FocusPoint.Should().Be(new Point(3, 4)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(1, 4)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(2, 4)); grid.MoveRight(); grid.FocusPoint.Should().Be(new Point(3, 4)); }
public void SparseNavigateUp() { navigationWrap = GridNavigationWrap.Sparse; SetLayout( "x x ", " x ", " xx ", " x x ", " "); grid.FocusPoint.Should().Be(Point.Zero); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(4, 2)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(3, 3)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(3, 2)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(2, 0)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(1, 3)); grid.MoveUp(); grid.FocusPoint.Should().Be(new Point(1, 1)); grid.MoveUp(); grid.FocusPoint.Should().Be(Point.Zero); }
public void SparseNavigateLeft() { navigationWrap = GridNavigationWrap.Sparse; // TODO: Use non-square grid in all of these!!!! SetLayout( "x x ", " x ", " xx ", " x x ", " "); grid.FocusPoint.Should().Be(Point.Zero); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(3, 3)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(1, 3)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(4, 2)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(3, 2)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(1, 1)); grid.MoveLeft(); grid.FocusPoint.Should().Be(new Point(2, 0)); grid.MoveLeft(); grid.FocusPoint.Should().Be(Point.Zero); }