public void TestTearDown()
		{
			KeyboardController.Unregister(m_dummySimpleRootSite);

			if (m_dummyIBusCommunicator != null)
				m_dummyIBusCommunicator.Dispose();

			m_dummySimpleRootSite.Visible = false;
			m_dummySimpleRootSite.Dispose();

			m_dummyIBusCommunicator = null;
			m_dummySimpleRootSite = null;
		}
		public void ChooseSimulatedKeyboard(ITestableIbusCommunicator ibusCommunicator)
		{
			m_dummyIBusCommunicator = ibusCommunicator;
			var ibusKeyboardAdapter = new IbusKeyboardAdaptorDouble(ibusCommunicator);
			var xklEngineMock = new DynamicMock(typeof(IXklEngine));
			var xkbKeyboardAdapter = new XkbKeyboardAdaptorDouble((IXklEngine)xklEngineMock.MockInstance);
			KeyboardController.Manager.SetKeyboardAdaptors(new IKeyboardAdaptor[] { xkbKeyboardAdapter, ibusKeyboardAdapter});
			KeyboardController.Register(m_dummySimpleRootSite, new IbusRootSiteEventHandler(m_dummySimpleRootSite));
		}
		public void ChooseSimulatedKeyboard(ITestableIbusCommunicator ibusCommunicator)
		{
			m_dummyIBusCommunicator = ibusCommunicator;
			var ibusKeyboardRetrievingAdaptor = new IbusKeyboardRetrievingAdaptorDouble(ibusCommunicator);
			var xklEngineMock = MockRepository.GenerateStub<IXklEngine>();
			var xkbKeyboardRetrievingAdaptor = new XkbKeyboardRetrievingAdaptorDouble(xklEngineMock);
			KeyboardController.Manager.SetKeyboardRetrievers(new IKeyboardRetrievingAdaptor[] { xkbKeyboardRetrievingAdaptor, ibusKeyboardRetrievingAdaptor});
			KeyboardController.Register(m_dummySimpleRootSite, new IbusRootSiteEventHandler(m_dummySimpleRootSite));
		}