Ejemplo n.º 1
0
        /// <summary>
        /// Sets up a limited service provider which can be used for testing.  
        /// 
        /// This will not include many of the services which are typically available in
        /// VS but is suitable for simple test cases which need just some base functionality.
        /// </summary>
        public static MockServiceProvider CreateMockServiceProvider() {
            var serviceProvider = new MockServiceProvider();

            serviceProvider.ComponentModel.AddExtension(
                typeof(IErrorProviderFactory),
                () => new MockErrorProviderFactory()
            );
            serviceProvider.ComponentModel.AddExtension(
                typeof(IContentTypeRegistryService),
                CreateContentTypeRegistryService
            );

            serviceProvider.ComponentModel.AddExtension(
                typeof(IInteractiveWindowCommandsFactory),
                () => new MockInteractiveWindowCommandsFactory()
            );

            serviceProvider.AddService(typeof(ErrorTaskProvider), CreateTaskProviderService, true);
            serviceProvider.AddService(typeof(CommentTaskProvider), CreateTaskProviderService, true);
            serviceProvider.AddService(typeof(UIThreadBase), new MockUIThread());
            var optionsService = new MockPythonToolsOptionsService();
            serviceProvider.AddService(typeof(IPythonToolsOptionsService), optionsService, true);

            var ptvsService = new PythonToolsService(serviceProvider);
            serviceProvider.AddService(typeof(PythonToolsService), ptvsService);
            return serviceProvider;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Sets up a limited service provider which can be used for testing.
        ///
        /// This will not include many of the services which are typically available in
        /// VS but is suitable for simple test cases which need just some base functionality.
        /// </summary>
        public static MockServiceProvider CreateMockServiceProvider()
        {
            var serviceProvider = new MockServiceProvider();

            serviceProvider.ComponentModel.AddExtension(
                typeof(IErrorProviderFactory),
                () => new MockErrorProviderFactory()
                );
            serviceProvider.ComponentModel.AddExtension(
                typeof(IContentTypeRegistryService),
                CreateContentTypeRegistryService
                );

#if DEV14_OR_LATER
            serviceProvider.ComponentModel.AddExtension(
                typeof(IInteractiveWindowCommandsFactory),
                () => new MockInteractiveWindowCommandsFactory()
                );
#endif

            serviceProvider.AddService(typeof(ErrorTaskProvider), CreateTaskProviderService, true);
            serviceProvider.AddService(typeof(CommentTaskProvider), CreateTaskProviderService, true);
            serviceProvider.AddService(typeof(UIThreadBase), new MockUIThread());
            var optionsService = new MockPythonToolsOptionsService();
            serviceProvider.AddService(typeof(IPythonToolsOptionsService), optionsService, true);

            var ptvsService = new PythonToolsService(serviceProvider);
            serviceProvider.AddService(typeof(PythonToolsService), ptvsService);
            return(serviceProvider);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Sets up a limited service provider which can be used for testing.
        ///
        /// This will not include many of the services which are typically available in
        /// VS but is suitable for simple test cases which need just some base functionality.
        /// </summary>
        public static MockServiceProvider CreateMockServiceProvider()
        {
            var serviceProvider = new MockServiceProvider();
            var errorProvider   = new MockErrorProviderFactory();

            serviceProvider.AddService(typeof(MockErrorProviderFactory), errorProvider, true);
            serviceProvider.AddService(typeof(SComponentModel), new MockComponentModel());
            serviceProvider.AddService(
                typeof(ErrorTaskProvider),
                (container, type) => new ErrorTaskProvider(serviceProvider, null, errorProvider),
                true
                );
            serviceProvider.AddService(
                typeof(CommentTaskProvider),
                (container, type) => new CommentTaskProvider(serviceProvider, null, errorProvider),
                true
                );
            serviceProvider.AddService(typeof(IUIThread), new MockUIThread());
            var optionsService = new MockPythonToolsOptionsService();

            serviceProvider.AddService(typeof(IPythonToolsOptionsService), optionsService, true);

            var ptvsService = new PythonToolsService(serviceProvider);

            serviceProvider.AddService(typeof(PythonToolsService), ptvsService);
            return(serviceProvider);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Sets up a limited service provider which can be used for testing.
        ///
        /// This will not include many of the services which are typically available in
        /// VS but is suitable for simple test cases which need just some base functionality.
        /// </summary>
        public static MockServiceProvider CreateMockServiceProvider(
            bool suppressTaskProvider = true
            )
        {
            var serviceProvider = new MockServiceProvider();

            serviceProvider.ComponentModel.AddExtension(
                typeof(IErrorProviderFactory),
                () => new MockErrorProviderFactory()
                );
            serviceProvider.ComponentModel.AddExtension(
                typeof(IContentTypeRegistryService),
                CreateContentTypeRegistryService
                );

            serviceProvider.ComponentModel.AddExtension(
                typeof(IInteractiveWindowCommandsFactory),
                () => new MockInteractiveWindowCommandsFactory()
                );

            var optService = new Lazy <MockInterpreterOptionsService>(() => new MockInterpreterOptionsService());

            serviceProvider.ComponentModel.AddExtension <IInterpreterRegistryService>(() => optService.Value);
            serviceProvider.ComponentModel.AddExtension <IInterpreterOptionsService>(() => optService.Value);

            var editorServices = CreatePythonEditorServices(serviceProvider, serviceProvider.ComponentModel);

            serviceProvider.ComponentModel.AddExtension(() => editorServices);

            var analysisEntryServiceCreator = new Lazy <AnalysisEntryService>(() => new AnalysisEntryService(new Lazy <PythonEditorServices>(() => editorServices)));

            serviceProvider.ComponentModel.AddExtension <IAnalysisEntryService>(() => analysisEntryServiceCreator.Value);
            serviceProvider.ComponentModel.AddExtension(() => analysisEntryServiceCreator.Value);

            if (suppressTaskProvider)
            {
                serviceProvider.AddService(typeof(ErrorTaskProvider), null, true);
                serviceProvider.AddService(typeof(CommentTaskProvider), null, true);
            }
            else
            {
                serviceProvider.AddService(typeof(ErrorTaskProvider), CreateTaskProviderService, true);
                serviceProvider.AddService(typeof(CommentTaskProvider), CreateTaskProviderService, true);
            }
            serviceProvider.AddService(typeof(UIThreadBase), new MockUIThread());
            var optionsService = new MockPythonToolsOptionsService();

            serviceProvider.AddService(typeof(IPythonToolsOptionsService), optionsService, true);

            var ptvsService = new PythonToolsService(serviceProvider);

            serviceProvider.AddService(typeof(PythonToolsService), ptvsService);
            return(serviceProvider);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Sets up a limited service provider which can be used for testing.
        ///
        /// This will not include many of the services which are typically available in
        /// VS but is suitable for simple test cases which need just some base functionality.
        /// </summary>
        public static MockServiceProvider CreateMockServiceProvider(
            bool suppressTaskProvider = true
            )
        {
            var componentModel  = new MockComponentModel();
            var serviceProvider = new MockServiceProvider(componentModel);

            componentModel.AddExtension(
                typeof(IErrorProviderFactory),
                () => new MockErrorProviderFactory()
                );
            componentModel.AddExtension(
                typeof(IContentTypeRegistryService),
                CreateContentTypeRegistryService
                );

            componentModel.AddExtension(
                typeof(IInteractiveWindowCommandsFactory),
                () => new MockInteractiveWindowCommandsFactory()
                );

            var optService = new Lazy <MockInterpreterOptionsService>(() => new MockInterpreterOptionsService());

            componentModel.AddExtension <IInterpreterRegistryService>(() => optService.Value);
            componentModel.AddExtension <IInterpreterOptionsService>(() => optService.Value);

            serviceProvider.AddService(typeof(UIThreadBase), new MockUIThread());
            var optionsService = new MockPythonToolsOptionsService();

            serviceProvider.AddService(typeof(IPythonToolsOptionsService), optionsService, true);

            var ptvsService = new PythonToolsService(serviceProvider, true);

            serviceProvider.AddService(typeof(PythonToolsService), ptvsService);
            return(serviceProvider);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Sets up a limited service provider which can be used for testing.  
        /// 
        /// This will not include many of the services which are typically available in
        /// VS but is suitable for simple test cases which need just some base functionality.
        /// </summary>
        public static MockServiceProvider CreateMockServiceProvider(
            bool suppressTaskProvider = false
        ) {
            var serviceProvider = new MockServiceProvider();

            serviceProvider.ComponentModel.AddExtension(
                typeof(IErrorProviderFactory),
                () => new MockErrorProviderFactory()
            );
            serviceProvider.ComponentModel.AddExtension(
                typeof(IContentTypeRegistryService),
                CreateContentTypeRegistryService
            );

            serviceProvider.ComponentModel.AddExtension(
                typeof(IInteractiveWindowCommandsFactory),
                () => new MockInteractiveWindowCommandsFactory()
            );

            var optService = new Lazy<MockInterpreterOptionsService>(() => new MockInterpreterOptionsService());
            serviceProvider.ComponentModel.AddExtension<IInterpreterRegistryService>(() => optService.Value);
            serviceProvider.ComponentModel.AddExtension<IInterpreterOptionsService>(() => optService.Value);

            if (suppressTaskProvider) {
                serviceProvider.AddService(typeof(ErrorTaskProvider), null, true);
                serviceProvider.AddService(typeof(CommentTaskProvider), null, true);
            } else {
                serviceProvider.AddService(typeof(ErrorTaskProvider), CreateTaskProviderService, true);
                serviceProvider.AddService(typeof(CommentTaskProvider), CreateTaskProviderService, true);
            }
            serviceProvider.AddService(typeof(UIThreadBase), new MockUIThread());
            var optionsService = new MockPythonToolsOptionsService();
            serviceProvider.AddService(typeof(IPythonToolsOptionsService), optionsService, true);

            var ptvsService = new PythonToolsService(serviceProvider);
            serviceProvider.AddService(typeof(PythonToolsService), ptvsService);
            return serviceProvider;
        }