public void ActivatingIbusKeyboardAlsoActivatesXkbKeyboard( string name, string language, string layout) { const int DeKeyboardGroup = 1; const int EnKeyboardGroup = 2; const int FrKeyboardGroup = 3; // Setup var ibusKeyboardAdapter = new IbusKeyboardRetrievingAdaptorDouble(new DoNothingIbusCommunicator()); var xklEngineMock = new Mock <IXklEngine>(); var xkbKeyboardAdapter = new XkbKeyboardRetrievingAdaptorDouble(xklEngineMock.Object); KeyboardController.Initialize(xkbKeyboardAdapter, ibusKeyboardAdapter); var ibusKeyboard = CreateMockIbusKeyboard(ibusKeyboardAdapter.SwitchingAdaptor, name, language, layout); var deKeyboard = CreateMockXkbKeyboard("German - German (Germany)", "de", "de-DE", "German", DeKeyboardGroup, xkbKeyboardAdapter.SwitchingAdaptor); CreateMockXkbKeyboard("English (US) - English (United States)", "us", "en-US", "English", EnKeyboardGroup, xkbKeyboardAdapter.SwitchingAdaptor); CreateMockXkbKeyboard("French - French (France)", "fr", "fr-FR", "French", FrKeyboardGroup, xkbKeyboardAdapter.SwitchingAdaptor); deKeyboard.Activate(); // Exercise ibusKeyboard.Activate(); // Verify xklEngineMock.Verify(x => x.SetGroup(layout == "fr" ? FrKeyboardGroup : EnKeyboardGroup), string.Format("Switching to the ibus keyboard should activate the {0} xkb keyboard.", layout == "fr" ? "French" : "English")); }
public void ActivatingIbusKeyboardAlsoActivatesXkbKeyboard( string name, string language, string layout) { const int DeKeyboardGroup = 1; const int EnKeyboardGroup = 2; const int FrKeyboardGroup = 3; // Setup var ibusKeyboardAdapter = new IbusKeyboardRetrievingAdaptorDouble(new DoNothingIbusCommunicator()); var xklEngineMock = new Mock<IXklEngine>(); var xkbKeyboardAdapter = new XkbKeyboardRetrievingAdaptorDouble(xklEngineMock.Object); KeyboardController.Initialize(xkbKeyboardAdapter, ibusKeyboardAdapter); var ibusKeyboard = CreateMockIbusKeyboard(ibusKeyboardAdapter.SwitchingAdaptor, name, language, layout); var deKeyboard = CreateMockXkbKeyboard("German - German (Germany)", "de", "de-DE", "German", DeKeyboardGroup, xkbKeyboardAdapter.SwitchingAdaptor); CreateMockXkbKeyboard("English (US) - English (United States)", "us", "en-US", "English", EnKeyboardGroup, xkbKeyboardAdapter.SwitchingAdaptor); CreateMockXkbKeyboard("French - French (France)", "fr", "fr-FR", "French", FrKeyboardGroup, xkbKeyboardAdapter.SwitchingAdaptor); deKeyboard.Activate(); // Exercise ibusKeyboard.Activate(); // Verify xklEngineMock.Verify(x => x.SetGroup(layout == "fr" ? FrKeyboardGroup : EnKeyboardGroup), string.Format("Switching to the ibus keyboard should activate the {0} xkb keyboard.", layout == "fr" ? "French" : "English")); // Shutdown KeyboardController.Shutdown(); }