public void ShowToolwindowNegativeTest() { IVsPackage package = new DTMstudioTestPackage() 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); // Add site support to register editor factory BaseMock registerEditor = DTMstudioTest_UnitTests.EditorTests.RegisterEditorsServiceMock.GetRegisterEditorsInstance(); serviceProvider.AddService(typeof(SVsRegisterEditors), registerEditor, false); // Site the package Assert.AreEqual(0, package.SetSite(serviceProvider), "SetSite did not return S_OK"); MethodInfo method = typeof(DTMstudioTestPackage).GetMethod("ShowToolWindow", BindingFlags.NonPublic | BindingFlags.Instance); //Invoke thows TargetInvocationException, but we want it's inner Exception thrown by ShowToolWindow, InvalidOperationException. try { object result = method.Invoke(package, new object[] { null, null }); } catch (Exception e) { throw e.InnerException; } }
public void MenuItemCallback() { // Create the package IVsPackage package = new DTMstudioTestPackage() as IVsPackage; Assert.IsNotNull(package, "The object does not implement IVsPackage"); // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); // Create a UIShell service mock and proffer the service so that it can called from the MenuItemCallback method BaseMock uishellMock = UIShellServiceMock.GetUiShellInstance(); serviceProvider.AddService(typeof(SVsUIShell), uishellMock, true); // Add site support to register editor factory BaseMock registerEditor = DTMstudioTest_UnitTests.EditorTests.RegisterEditorsServiceMock.GetRegisterEditorsInstance(); serviceProvider.AddService(typeof(SVsRegisterEditors), registerEditor, false); // Site the package Assert.AreEqual(0, package.SetSite(serviceProvider), "SetSite did not return S_OK"); //Invoke private method on package class and observe that the method does not throw System.Reflection.MethodInfo info = package.GetType().GetMethod("MenuItemCallback", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(info, "Failed to get the private method MenuItemCallback throug refplection"); info.Invoke(package, new object[] { null, null }); //Clean up services serviceProvider.RemoveService(typeof(SVsUIShell)); }
public void IsIVsEditorFactory() { DTMstudioTestPackage package = new DTMstudioTestPackage(); EditorFactory editorFactory = new EditorFactory(package); Assert.IsNotNull(editorFactory as IVsEditorFactory, "The object does not implement IVsEditorFactory"); }
public void InitializeMenuCommand() { // Create the package IVsPackage package = new DTMstudioTestPackage() as IVsPackage; Assert.IsNotNull(package, "The object does not implement IVsPackage"); // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); // Add site support to register editor factory BaseMock registerEditor = DTMstudioTest_UnitTests.EditorTests.RegisterEditorsServiceMock.GetRegisterEditorsInstance(); serviceProvider.AddService(typeof(SVsRegisterEditors), registerEditor, 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(EndressHauser.DTMstudioTest.GuidList.guidDTMstudioTestCmdSet, (int)EndressHauser.DTMstudioTest.PkgCmdIDList.cmdidMyCommand); System.Reflection.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.FindCommand(menuCommandID)); }
public void CreateEditorInstance() { DTMstudioTestPackage package = new DTMstudioTestPackage(); //Create the editor factory EditorFactory editorFactory = new EditorFactory(package); // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); serviceProvider.AddService(typeof(SLocalRegistry), (ILocalRegistry)LocalRegistryServiceMock.GetILocalRegistryInstance(), true); // Site the editor factory Assert.AreEqual(0, editorFactory.SetSite(serviceProvider), "SetSite did not return S_OK"); IntPtr ppunkDocView; IntPtr ppunkDocData; string pbstrEditorCaption = String.Empty; Guid pguidCmdUI = Guid.Empty; int pgrfCDW = 0; Assert.AreEqual(VSConstants.S_OK, editorFactory.CreateEditorInstance(VSConstants.CEF_OPENFILE, null, null, null, 0, IntPtr.Zero, out ppunkDocView, out ppunkDocData, out pbstrEditorCaption, out pguidCmdUI, out pgrfCDW)); }
public void CreateInstance() { DTMstudioTestPackage package = new DTMstudioTestPackage(); EditorFactory editorFactory = new EditorFactory(package); Assert.IsNotNull(editorFactory, "Failed to initialize new instance of EditorFactory."); }
public void DisposeTest() { DTMstudioTestPackage package = new DTMstudioTestPackage(); EditorFactory editorFactory = new EditorFactory(package); editorFactory.Dispose(); }
public void CloseTest() { DTMstudioTestPackage package = new DTMstudioTestPackage(); EditorFactory editorFactory = new EditorFactory(package); Assert.AreEqual(VSConstants.S_OK, editorFactory.Close(), "Close did no return S_OK"); }
public void IsIDisposableTest() { DTMstudioTestPackage package = new DTMstudioTestPackage(); using (EditorFactory editorFactory = new EditorFactory(package)) { Assert.IsNotNull(editorFactory as IDisposable, "The object does not implement IDisposable interface"); } }
public void SetSite() { DTMstudioTestPackage package = new DTMstudioTestPackage(); //Create the editor factory EditorFactory editorFactory = new EditorFactory(package); // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); // Site the editor factory Assert.AreEqual(0, editorFactory.SetSite(serviceProvider), "SetSite did not return S_OK"); }
public void DisposeDisposableMembersTest() { DTMstudioTestPackage package = new DTMstudioTestPackage(); EditorFactory editorFactory = new EditorFactory(package); OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); editorFactory.SetSite(serviceProvider); object service = editorFactory.GetService(typeof(IProfferService)); Assert.IsNotNull(service); editorFactory.Dispose(); //service provider contains no services after this call service = editorFactory.GetService(typeof(IProfferService)); Assert.IsNull(service, "serviceprovider has not beed disposed as expected"); }
public void CheckLogicalView() { DTMstudioTestPackage package = new DTMstudioTestPackage(); //Create the editor factory EditorFactory editorFactory = new EditorFactory(package); // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); serviceProvider.AddService(typeof(SLocalRegistry), (ILocalRegistry)LocalRegistryServiceMock.GetILocalRegistryInstance(), true); // Site the editor factory Assert.AreEqual(0, editorFactory.SetSite(serviceProvider), "SetSite did not return S_OK"); IntPtr ppunkDocView; IntPtr ppunkDocData; string pbstrEditorCaption = String.Empty; Guid pguidCmdUI = Guid.Empty; int pgrfCDW = 0; Assert.AreEqual(VSConstants.S_OK, editorFactory.CreateEditorInstance(VSConstants.CEF_OPENFILE, null, null, null, 0, IntPtr.Zero, out ppunkDocView, out ppunkDocData, out pbstrEditorCaption, out pguidCmdUI, out pgrfCDW)); //check for successfull creation of editor instance string bstrPhysicalView = string.Empty; Guid refGuidLogicalView = VSConstants.LOGVIEWID_Debugging; Assert.AreEqual(VSConstants.E_NOTIMPL, editorFactory.MapLogicalView(ref refGuidLogicalView, out bstrPhysicalView)); refGuidLogicalView = VSConstants.LOGVIEWID_Code; Assert.AreEqual(VSConstants.E_NOTIMPL, editorFactory.MapLogicalView(ref refGuidLogicalView, out bstrPhysicalView)); refGuidLogicalView = VSConstants.LOGVIEWID_TextView; Assert.AreEqual(VSConstants.E_NOTIMPL, editorFactory.MapLogicalView(ref refGuidLogicalView, out bstrPhysicalView)); refGuidLogicalView = VSConstants.LOGVIEWID_UserChooseView; Assert.AreEqual(VSConstants.E_NOTIMPL, editorFactory.MapLogicalView(ref refGuidLogicalView, out bstrPhysicalView)); refGuidLogicalView = VSConstants.LOGVIEWID_Primary; Assert.AreEqual(VSConstants.S_OK, editorFactory.MapLogicalView(ref refGuidLogicalView, out bstrPhysicalView)); }
public void SetSite() { // Create the package IVsPackage package = new DTMstudioTestPackage() as IVsPackage; Assert.IsNotNull(package, "The object does not implement IVsPackage"); // Create a basic service provider OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices(); // Add site support to register editor factory BaseMock registerEditor = DTMstudioTest_UnitTests.EditorTests.RegisterEditorsServiceMock.GetRegisterEditorsInstance(); serviceProvider.AddService(typeof(SVsRegisterEditors), registerEditor, false); // Site the package Assert.AreEqual(0, package.SetSite(serviceProvider), "SetSite did not return S_OK"); // Unsite the package Assert.AreEqual(0, package.SetSite(null), "SetSite(null) did not return S_OK"); }
public void ValidateToolWindowShown() { IVsPackage package = new DTMstudioTestPackage() 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); // Add site support to register editor factory BaseMock registerEditor = DTMstudioTest_UnitTests.EditorTests.RegisterEditorsServiceMock.GetRegisterEditorsInstance(); serviceProvider.AddService(typeof(SVsRegisterEditors), registerEditor, false); // Site the package Assert.AreEqual(0, package.SetSite(serviceProvider), "SetSite did not return S_OK"); MethodInfo method = typeof(DTMstudioTestPackage).GetMethod("ShowToolWindow", BindingFlags.NonPublic | BindingFlags.Instance); object result = method.Invoke(package, new object[] { null, null }); }
public void IsIVsPackage() { DTMstudioTestPackage package = new DTMstudioTestPackage(); Assert.IsNotNull(package as IVsPackage, "The object does not implement IVsPackage"); }
public void CreateInstance() { DTMstudioTestPackage package = new DTMstudioTestPackage(); }