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 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 ShouldLoadFirstGridFromTheListOnStart() { //given var activeWindow = A.Fake <WindowRepresentation>(); var windowDimensions = new Dimensions(new Point(0, 0), new Size(100, 100)); A.CallTo(() => activeWindow.Dimensions).Returns(windowDimensions); var windowManager = A.Fake <WindowManager>(); A.CallTo(() => windowManager.GetActiveWindow()).Returns(activeWindow); var dummyHotkeyConfiguration = A.Fake <GridHotkeyConfiguration>(); A.CallTo(() => dummyHotkeyConfiguration.Left).Returns(A.Fake <GlobalHotkey>()); A.CallTo(() => dummyHotkeyConfiguration.Right).Returns(A.Fake <GlobalHotkey>()); A.CallTo(() => dummyHotkeyConfiguration.Up).Returns(A.Fake <GlobalHotkey>()); A.CallTo(() => dummyHotkeyConfiguration.Down).Returns(A.Fake <GlobalHotkey>()); var gridElementDimensions = new Dimensions(new Point(0, 0), new Size(1, 1)); var windowsOnGridController = new WindowsOnGridController(dummyHotkeyConfiguration); var gridConfigs = new[] { new GridConfig { Name = "asdf", GridElements = new [] { gridElementDimensions } } }; var gridFactory = new GridFactory(windowManager); new GridSwitcher(gridConfigs, gridFactory, windowsOnGridController); //when dummyHotkeyConfiguration.Left.HotkeyPressed += Raise.WithEmpty(); //then A.CallTo(() => activeWindow.SetDimensions(A <Dimensions> .That.Matches(newDimensions => newDimensions.Equals(gridElementDimensions)))).MustHaveHappened(); }