public void NextLayerCommand_Execute(int layerNumber, int nextLayerHit, int expectedCurrentLayerIndex) { //Arrange var keyboardLayout = CreateLayers(layerNumber); var layoutTemplate = new List <KeyTemplate>(); for (int i = 0; i < 1; i++) { layoutTemplate.Add(new KeyTemplate(i, i, 54, 81)); } var mockLayoutService = new Mock <ILayoutService>(); mockLayoutService.Setup(l => l.SupportsGeometry(null)).Returns(true); mockLayoutService.Setup(l => l.GetLayoutTemplate(null)).ReturnsAsync(layoutTemplate); var mockWindowService = new Mock <IWindowService>(); var mockSettingsService = new Mock <ISettingsService>(); mockSettingsService.SetupProperty(s => s.EZLayout, keyboardLayout); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); for (int i = 0; i < nextLayerHit; i++) { displayLayoutViewModel.NextLayerCommand.Execute(null); } //Assert Assert.Equal(expectedCurrentLayerIndex, displayLayoutViewModel.CurrentLayerIndex); }
public void LostFocusCommand_CanExecute(bool isPinned) { //Arrange var mockWindowService = new Mock <IWindowService>(); mockWindowService.Setup(w => w.CloseWindow <DisplayLayoutWindow>()).Verifiable(); var mockLayoutService = new Mock <ILayoutService>(); var mockSettingsService = new Mock <ISettingsService>(); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); displayLayoutViewModel.IsWindowPinned = isPinned; displayLayoutViewModel.LostFocusCommand.Execute(null); //Assert if (isPinned) { mockWindowService.Verify(w => w.CloseWindow <DisplayLayoutWindow>(), Times.Never); } else { mockWindowService.Verify(w => w.CloseWindow <DisplayLayoutWindow>(), Times.Once); } }
public void ScrollLayerCommand_Execute(int layerNumber, int expectedCurrentLayerIndex, params int[] scrollingValues) { //Arrange var keyboardLayout = CreateLayers(layerNumber); var layoutTemplate = new List <KeyTemplate>(); for (int i = 0; i < 1; i++) { layoutTemplate.Add(new KeyTemplate(i, i, 54, 81)); } var mockLayoutService = new Mock <ILayoutService>(); mockLayoutService.Setup(l => l.SupportsGeometry(null)).Returns(true); mockLayoutService.Setup(l => l.GetLayoutTemplate(null)).ReturnsAsync(layoutTemplate); var mockWindowService = new Mock <IWindowService>(); var mockSettingsService = new Mock <ISettingsService>(); mockSettingsService.SetupProperty(s => s.EZLayout, keyboardLayout); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); foreach (var scrollingValue in scrollingValues) { displayLayoutViewModel.ScrollLayerCommand.Execute(new MouseWheelEventArgs(Mouse.PrimaryDevice, 0, scrollingValue)); } //Assert Assert.Equal(expectedCurrentLayerIndex, displayLayoutViewModel.CurrentLayerIndex); }
public void NextLayerCommand_CanExecute(int layerNumber, bool expectedCanExecute) { //Arrange var keyboardLayout = CreateLayers(layerNumber); var layoutTemplate = new List <KeyTemplate>(); for (int i = 0; i < 1; i++) { layoutTemplate.Add(new KeyTemplate(i, i, 54, 81)); } var mockLayoutService = new Mock <ILayoutService>(); mockLayoutService.Setup(l => l.GetLayoutTemplate()).ReturnsAsync(layoutTemplate); var mockWindowService = new Mock <IWindowService>(); var mockSettingsService = new Mock <ISettingsService>(); mockSettingsService.SetupProperty(s => s.EZLayout, keyboardLayout); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); //Assert Assert.Equal(expectedCanExecute, displayLayoutViewModel.NextLayerCommand.CanExecute(null)); }
public void NoLayoutAvailable() { // Arrange var mockLayoutService = new Mock <ILayoutService>(); var mockWindowService = new Mock <IWindowService>(); var mockSettingsService = new Mock <ISettingsService>(); mockSettingsService.SetupProperty(s => s.EZLayout, CreateLayers(0)); // Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); // Assert Assert.True(displayLayoutViewModel.NoLayoutAvailable); }
public void LostFocusCommand_Execute() { //Arrange var mockWindowService = new Mock <IWindowService>(); mockWindowService.Setup(w => w.CloseWindow <DisplayLayoutWindow>()).Verifiable(); var mockLayoutService = new Mock <ILayoutService>(); var mockSettingsService = new Mock <ISettingsService>(); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); displayLayoutViewModel.LostFocusCommand.Execute(null); //Assert mockWindowService.Verify(w => w.CloseWindow <DisplayLayoutWindow>(), Times.Once); }
public void LoadCompleteLayout(int numberOfKey, int numberOfLayer, bool noLayoutAvailable) { //Arrange var layoutTemplate = new List <KeyTemplate>(); var ezKeys = new List <EZKey>(); for (int i = 0; i < numberOfKey; i++) { layoutTemplate.Add(new KeyTemplate(i, i, 54, 81)); ezKeys.Add(new EZKey()); } var keyboardLayout = new EZLayout(); for (int i = 0; i < numberOfLayer; i++) { keyboardLayout.EZLayers.Add(new EZLayer { Index = i, EZKeys = new List <EZKey>(ezKeys) }); } var mockWindowService = new Mock <IWindowService>(); var mockLayoutService = new Mock <ILayoutService>(); mockLayoutService.Setup(l => l.SupportsGeometry(null)).Returns(true); mockLayoutService.Setup(l => l.GetLayoutTemplate(null)).ReturnsAsync(layoutTemplate).Verifiable(); var mockSettingsService = new Mock <ISettingsService>(); mockSettingsService.SetupProperty(s => s.EZLayout, keyboardLayout); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); //Assert Assert.Equal(noLayoutAvailable, displayLayoutViewModel.NoLayoutAvailable); mockLayoutService.Verify(l => l.GetLayoutTemplate(null), Times.AtMost(numberOfLayer)); Assert.Equal(numberOfKey, displayLayoutViewModel.CurrentLayoutTemplate.Count); }
public void DisplayLayoutViewModel_Constructor() { //Arrange var mockWindowService = new Mock <IWindowService>(); var mockLayoutService = new Mock <ILayoutService>(); var mockSettingsService = new Mock <ISettingsService>(); mockSettingsService.SetupProperty(s => s.EZLayout, CreateLayers(1)); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); //Assert Assert.Equal("ErgoDox Layout", displayLayoutViewModel.WindowTitle); Assert.Equal("No layout available !", displayLayoutViewModel.NoLayoutWarningFirstLine); Assert.Equal("Please, go to the settings and update the layout.", displayLayoutViewModel.NoLayoutWarningSecondLine); Assert.Equal("Current layer :", displayLayoutViewModel.CurrentLayerNameTitle); Assert.Equal("", displayLayoutViewModel.CurrentLayerName); Assert.Equal("Scroll up/down or press 'Space' to display next layer", displayLayoutViewModel.ControlHintSpaceLabel); Assert.Equal("Press 'Escape' to hide window", displayLayoutViewModel.ControlHintEscapeLabel); Assert.Equal("_Pin window", displayLayoutViewModel.ToggleBtnPinWindowContent); Assert.Equal("Press 'P' to toggle", displayLayoutViewModel.ToggleBtnPinWindowTooltip); }
public void DisplayLayoutViewModel_Constructor() { //Arrange var mockWindowService = new Mock <IWindowService>(); var mockLayoutService = new Mock <ILayoutService>(); var mockSettingsService = new Mock <ISettingsService>(); mockSettingsService.SetupProperty(s => s.EZLayout, CreateLayers(1)); mockLayoutService.Setup(l => l.SupportsGeometry(null)).Returns(true).Verifiable(); //Act var displayLayoutViewModel = new DisplayLayoutViewModel(mockWindowService.Object, mockLayoutService.Object, mockSettingsService.Object); //Assert Assert.Equal("ErgoDox Layout", displayLayoutViewModel.WindowTitle); Assert.Null(displayLayoutViewModel.NoLayoutWarningFirstLine); Assert.Null(displayLayoutViewModel.NoLayoutWarningSecondLine); Assert.Equal("Current layer :", displayLayoutViewModel.CurrentLayerNameTitle); Assert.Equal("", displayLayoutViewModel.CurrentLayerName); Assert.Equal("Scroll up/down or press 'Space' to display next layer", displayLayoutViewModel.ControlHintSpaceLabel); Assert.Equal("Press 'Escape' to hide window", displayLayoutViewModel.ControlHintEscapeLabel); Assert.Equal("_Pin window", displayLayoutViewModel.ToggleBtnPinWindowContent); Assert.Equal("Press 'P' to toggle", displayLayoutViewModel.ToggleBtnPinWindowTooltip); }