public void Setup() { _windowManager = A.Fake <WindowManager>(); _quarterSize = new Size(960, 540); _leftTop = new SquareGridElement(new Dimensions(new Point(0, 0), _quarterSize)); _centerTop = new SquareGridElement(new Dimensions(new Point(960, 0), _quarterSize)); _leftCenter = new SquareGridElement(new Dimensions(new Point(0, 540), _quarterSize)); _centerCenter = new SquareGridElement(new Dimensions(new Point(960, 540), _quarterSize)); _leftTop.SetNeighbour(_centerTop, GridDirections.Left); _leftTop.SetNeighbour(_centerTop, GridDirections.Right); _leftTop.SetNeighbour(_leftCenter, GridDirections.Up); _leftTop.SetNeighbour(_leftCenter, GridDirections.Down); _centerTop.SetNeighbour(_leftTop, GridDirections.Left); _centerTop.SetNeighbour(_leftTop, GridDirections.Right); _centerTop.SetNeighbour(_centerCenter, GridDirections.Down); _centerTop.SetNeighbour(_centerCenter, GridDirections.Up); _leftCenter.SetNeighbour(_centerCenter, GridDirections.Right); _leftCenter.SetNeighbour(_centerCenter, GridDirections.Left); _leftCenter.SetNeighbour(_leftTop, GridDirections.Up); _leftCenter.SetNeighbour(_leftTop, GridDirections.Down); _centerCenter.SetNeighbour(_leftCenter, GridDirections.Right); _centerCenter.SetNeighbour(_leftCenter, GridDirections.Left); _centerCenter.SetNeighbour(_centerTop, GridDirections.Down); _centerCenter.SetNeighbour(_centerTop, GridDirections.Up); _quarterGrid = new Grid(_windowManager); _quarterGrid.AddElement(_leftTop); _quarterGrid.AddElement(_leftCenter); _quarterGrid.AddElement(_centerCenter); _quarterGrid.AddElement(_centerTop); }
public void ShouldNotNotifyOldGridAboutHotkeysWHenNewGridIsLoaded() { //given var activeWindow = A.Fake <WindowRepresentation>(); var windowManager = A.Fake <WindowManager>(); A.CallTo(() => windowManager.GetActiveWindow()).Returns(activeWindow); var firstLoadedGrid = new Grid(windowManager); var firstLoadedGridElement = new SquareGridElement(new Dimensions(new Point(0, 0), new Size(20, 20))); firstLoadedGrid.AddElement(firstLoadedGridElement); var secondLoadedGrid = new Grid(windowManager); var secondLoadedGridElement = new SquareGridElement(new Dimensions(new Point(20, 20), new Size(20, 20))); secondLoadedGrid.AddElement(secondLoadedGridElement); var windowsOnGridController = new WindowsOnGridController(_dummyHotkeyConfiguration); windowsOnGridController.LoadGrid(firstLoadedGrid); windowsOnGridController.LoadGrid(secondLoadedGrid); //when _dummyHotkeyConfiguration.Left.HotkeyPressed += Raise.WithEmpty(); _dummyHotkeyConfiguration.Right.HotkeyPressed += Raise.WithEmpty(); _dummyHotkeyConfiguration.Up.HotkeyPressed += Raise.WithEmpty(); _dummyHotkeyConfiguration.Down.HotkeyPressed += Raise.WithEmpty(); //then A.CallTo(() => activeWindow.SetDimensions(firstLoadedGridElement.Dimensions)).MustNotHaveHappened(); A.CallTo(() => activeWindow.SetDimensions(secondLoadedGridElement.Dimensions)).MustHaveHappened(Repeated.Exactly.Times(4)); }
public void ShouldMoveActiveWindowAroundLoadedGridWhenHotkeyPressed() { //given var activeWindow = A.Fake <WindowRepresentation>(); var dimensions = new Dimensions(new Point(0, 0), new Size(100, 100)); A.CallTo(() => activeWindow.Dimensions).Returns(dimensions); var windowManager = A.Fake <WindowManager>(); A.CallTo(() => windowManager.GetActiveWindow()).Returns(activeWindow); var grid = new Grid(windowManager); var gridElement = new SquareGridElement(new Dimensions(new Point(0, 0), new Size(1, 1))); grid.AddElement(gridElement); var windowsOnGridController = new WindowsOnGridController(_dummyHotkeyConfiguration); windowsOnGridController.LoadGrid(grid); //when _dummyHotkeyConfiguration.Left.HotkeyPressed += Raise.WithEmpty(); _dummyHotkeyConfiguration.Right.HotkeyPressed += Raise.WithEmpty(); _dummyHotkeyConfiguration.Up.HotkeyPressed += Raise.WithEmpty(); _dummyHotkeyConfiguration.Down.HotkeyPressed += Raise.WithEmpty(); //then A.CallTo(() => activeWindow.SetDimensions(gridElement.Dimensions)).MustHaveHappened(Repeated.Exactly.Times(4)); }
public void ShouldSetWindowDimensions() { //given var window = A.Fake <WindowRepresentation>(); var gridElement = new SquareGridElement(new Dimensions(new Point(1, 2), new Size(3, 4))); //when gridElement.SetWindow(window); //then A.CallTo( () => window.SetDimensions( A <Dimensions> .That.Matches(dimensions => dimensions.Equals(gridElement.Dimensions)))); }
public void ShouldRecognizeIfWindowIsInGridOrNot() { //given var gridElementDimensions = new Dimensions(new Point(1, 2), new Size(3, 4)); var dimensionsOutsideGrid = new Dimensions(new Point(5, 6), new Size(7, 8)); var gridElement = new SquareGridElement(gridElementDimensions); var windowOutsideGrid = A.Fake <WindowRepresentation>(); A.CallTo(() => windowOutsideGrid.Dimensions).Returns(dimensionsOutsideGrid); var windowInsideGrid = A.Fake <WindowRepresentation>(); A.CallTo(() => windowInsideGrid.Dimensions).Returns(gridElementDimensions); //then Assert.That(gridElement.HasWindow(windowInsideGrid)); Assert.That(!gridElement.HasWindow(windowOutsideGrid)); }