Exemplo n.º 1
0
        public void ShowToolwindowNegativeTest()
        {
            IVsPackage package = new ReferenceCheckerPackage() 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 );

            // Site the package
            Assert.AreEqual( 0, package.SetSite( serviceProvider ), "SetSite did not return S_OK" );

            MethodInfo method = typeof( ReferenceCheckerPackage ).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;
            }
        }
Exemplo n.º 2
0
        public void ValidateToolWindowShown()
        {
            IVsPackage package = new ReferenceCheckerPackage() 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 );

            // Site the package
            Assert.AreEqual( 0, package.SetSite( serviceProvider ), "SetSite did not return S_OK" );

            MethodInfo method = typeof( ReferenceCheckerPackage ).GetMethod( "ShowToolWindow", BindingFlags.NonPublic | BindingFlags.Instance );

            object result = method.Invoke( package, new object[] { null, null } );
        }
Exemplo n.º 3
0
        public void InitializeMenuCommand()
        {
            // Create the package
            IVsPackage package = new ReferenceCheckerPackage() as IVsPackage;
            Assert.IsNotNull( package, "The object does not implement IVsPackage" );

            // Create a basic service provider
            OleServiceProvider serviceProvider = OleServiceProvider.CreateOleServiceProviderWithBasicServices();

            // 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( CareEvolution.ReferenceChecker.GuidList.guidReferenceCheckerCmdSet, (int)CareEvolution.ReferenceChecker.PkgCmdIDList.cmdidCheckReferences );
            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 ) );
        }
Exemplo n.º 4
0
        public void MenuItemCallback()
        {
            // Create the package
            IVsPackage package = new ReferenceCheckerPackage() 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 );

            // 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 ) );
        }