public void InitializeConfigMenuCommands() { // Create the package IVsPackage package = new TestPackage(); Assert.IsNotNull(package, "The object does not implement IVsPackage"); // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); BaseMock uiShellService = MyToolWindowTest.UIShellServiceMock.GetUiShellInstanceCreateToolWin(); serviceProvider.AddService(typeof(SVsUIShell), uiShellService, false); BaseMock vsShellService = VSShellMock.GetVsShellInstance0(); serviceProvider.AddService(typeof(SVsShell), vsShellService, false); // Site the package Assert.AreEqual(0, package.SetSite(serviceProvider), "SetSite did not return S_OK"); //Verify that the menu command can be found CommandID menuCommandID = new CommandID(GuidList.GUIDTestPackageCmdSet, (int)PkgCmdIDList.cmdTestSettings); MethodInfo info = typeof(Package).GetMethod("GetService", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(info); OleMenuCommandService mcs = info.Invoke(package, new object[] { (typeof(IMenuCommandService)) }) as OleMenuCommandService; Assert.IsNotNull(mcs); Assert.IsNotNull(mcs.FindCommand(menuCommandID)); }
public void ValidateToolWindowShown() { IVsPackage package = new TestPackage() as IVsPackage; // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); //Add uishell service that knows how to create a toolwindow BaseMock uiShellService = UIShellServiceMock.GetUiShellInstanceCreateToolWin(); serviceProvider.AddService(typeof(SVsUIShell), uiShellService, false); BaseMock vsShellService = VSShellMock.GetVsShellInstance0(); serviceProvider.AddService(typeof(SVsShell), vsShellService, false); // Site the package Assert.AreEqual(0, package.SetSite(serviceProvider), "SetSite did not return S_OK"); MethodInfo method = typeof(TestPackage).GetMethod("ShowTestList", BindingFlags.NonPublic | BindingFlags.Instance); object result = method.Invoke(package, new object[] { null, null }); }
public void ShowToolwindowNegativeTest() { IVsPackage package = new TestPackage() as IVsPackage; // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); //Add uishell service that knows how to create a toolwindow BaseMock uiShellService = UIShellServiceMock.GetUiShellInstanceCreateToolWinReturnsNull(); serviceProvider.AddService(typeof(SVsUIShell), uiShellService, false); BaseMock vsShellService = VSShellMock.GetVsShellInstance0(); serviceProvider.AddService(typeof(SVsShell), vsShellService, false); // Site the package Assert.AreEqual(0, package.SetSite(serviceProvider), "SetSite did not return S_OK"); MethodInfo method = typeof(TestPackage).GetMethod("ShowTestList", BindingFlags.NonPublic | BindingFlags.Instance); //ShowToolWindow throw NotSupportException but the Exception is converted during the //call of invoke method object result = method.Invoke(package, new object[] { null, null }); }