public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters)
 {
     generatorPluginEvents.CustomizeDependencies += (sender, args) =>
     {
         args.ObjectContainer.RegisterTypeAs <AttributeGeneratorProvider, IUnitTestGeneratorProvider>();
     };
 }
Example #2
0
 public void Initialize(
     GeneratorPluginEvents generatorPluginEvents,
     GeneratorPluginParameters generatorPluginParameters,
     UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     generatorPluginEvents.CustomizeDependencies += (sender, args) => CustomizeGeneratorDependencies(args.ObjectContainer);
 }
Example #3
0
        public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters,
                               UnitTestProviderConfiguration unitTestProviderConfiguration)
        {
            unitTestProviderConfiguration.UseUnitTestProvider(MasterGeneratorProvider.Name);

            generatorPluginEvents.RegisterDependencies += CustomizeDependencies;
        }
Example #4
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters)
 {
     if (generatorPluginEvents != null)
     {
         generatorPluginEvents.CustomizeDependencies += GeneratorPluginEvents_CustomizeDependencies;
     }
 }
Example #5
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters,
                        UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     generatorPluginEvents.RegisterDependencies += (sender, args) =>
     {
         args.ObjectContainer.RegisterTypeAs <ExternalDataTestGenerator, ITestGenerator>();
         args.ObjectContainer.RegisterTypeAs <ExternalDataFeaturePatcher, IExternalDataFeaturePatcher>();
         args.ObjectContainer.RegisterTypeAs <TestDataProvider, ITestDataProvider>();
     };
 }
Example #6
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters)
 {
     generatorPluginEvents.RegisterDependencies += (sender, args) =>
     {
         args.ObjectContainer.RegisterTypeAs <RetryUnitTestFeatureGenerator, IFeatureGenerator>();
         args.ObjectContainer.RegisterTypeAs <RetryUnitTestFeatureGeneratorProvider, IFeatureGeneratorProvider>("retry");
         args.ObjectContainer.RegisterTypeAs <RemoveRetryTagFromCategoriesDecorator, ITestClassTagDecorator>("retry");
         args.ObjectContainer.RegisterTypeAs <RemoveRetryTagFromCategoriesDecorator, ITestMethodTagDecorator>("retry");
     };
 }
Example #7
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     generatorPluginEvents.CustomizeDependencies += (sender, args) =>
     {
         if (args.SpecFlowProjectConfiguration.SpecFlowConfiguration.StopAtFirstError)
         {
             args.ObjectContainer.RegisterTypeAs <CustomHeaderWriter, ITestHeaderWriter>();
         }
     };
 }
Example #8
0
 public void Initialize(
     GeneratorPluginEvents generatorPluginEvents,
     GeneratorPluginParameters generatorPluginParameters,
     UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     generatorPluginEvents.RegisterDependencies += (sender, args) =>
     {
         args.ObjectContainer.RegisterTypeAs <SharedBackgroundFeatureGeneratorProvider, IFeatureGeneratorProvider>();
         args.ObjectContainer.RegisterTypeAs <SharedBackgroundFeatureGenerator, IFeatureGenerator>();
     };
 }
Example #9
0
        public void Should_be_able_to_change_default_configuration_from_a_plugin()
        {
            var pluginWithCustomConfiguration = new PluginWithCustomConfiguration(conf => conf.SpecFlowConfiguration.StopAtFirstError = true);
            var generatorPluginEvents         = new GeneratorPluginEvents();

            pluginWithCustomConfiguration.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), new UnitTestProviderConfiguration());

            var specFlowProjectConfiguration = new SpecFlowProjectConfiguration();

            generatorPluginEvents.RaiseConfigurationDefaults(specFlowProjectConfiguration);

            specFlowProjectConfiguration.SpecFlowConfiguration.StopAtFirstError.Should().BeTrue();
        }
Example #10
0
        public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters,
                               UnitTestProviderConfiguration unitTestProviderConfiguration)
        {
            generatorPluginEvents.RegisterDependencies += (sender, args) =>
            {
                args.ObjectContainer.RegisterTypeAs <ExternalDataTestGenerator, ITestGenerator>();

                args.ObjectContainer.RegisterTypeAs <SpecificationProvider, ISpecificationProvider>();
                args.ObjectContainer.RegisterTypeAs <DataSourceLoaderFactory, IDataSourceLoaderFactory>();
                args.ObjectContainer.RegisterTypeAs <CsvLoader, IDataSourceLoader>("CSV");
                args.ObjectContainer.RegisterTypeAs <ExcelLoader, IDataSourceLoader>("Excel");
            };
        }
        private void LoadPlugin(
            PluginDescriptor pluginDescriptor,
            IGeneratorPluginLoader pluginLoader,
            GeneratorPluginEvents generatorPluginEvents,
            UnitTestProviderConfiguration unitTestProviderConfiguration)
        {
            var plugin = pluginLoader.LoadPlugin(pluginDescriptor);
            var generatorPluginParameters = new GeneratorPluginParameters
            {
                Parameters = pluginDescriptor.Parameters
            };

            plugin.Initialize(generatorPluginEvents, generatorPluginParameters, unitTestProviderConfiguration);
        }
Example #12
0
        public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration)
        {
            generatorPluginEvents.RegisterDependencies += (_, args) =>
            {
                args.ObjectContainer.RegisterTypeAs <Generator, ITestGenerator>();
            };

            generatorPluginEvents.CustomizeDependencies += (_, args) =>
            {
                args.ObjectContainer.RegisterTypeAs <MissingExamplesParserFactory, IGherkinParserFactory>();
                args.ObjectContainer.Resolve <ExamplesGeneratorContainer>().RegisterGenerator <T>();
            };

            InitializeInternal(generatorPluginEvents, generatorPluginParameters);
        }
Example #13
0
        public void Should_be_able_to_register_dependencies_from_a_plugin()
        {
            var pluginWithCustomDependency = new PluginWithCustomDependency();
            var generatorPluginEvents      = new GeneratorPluginEvents();

            pluginWithCustomDependency.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), new UnitTestProviderConfiguration());


            var objectContainer = new ObjectContainer();

            generatorPluginEvents.RaiseRegisterDependencies(objectContainer);


            var customDependency = objectContainer.Resolve <ICustomDependency>();

            customDependency.Should().BeOfType(typeof(CustomDependency));
        }
        private static void LoadPlugins(ObjectContainer container, GeneratorPluginEvents generatorPluginEvents, UnitTestProviderConfiguration unitTestProviderConfigration, IEnumerable <string> generatorPlugins)
        {
            // initialize plugins that were registered from code
            foreach (var generatorPlugin in container.Resolve <IDictionary <string, IGeneratorPlugin> >().Values)
            {
                // these plugins cannot have parameters
                generatorPlugin.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), unitTestProviderConfigration);
            }
            var pluginLoader = container.Resolve <IGeneratorPluginLoader>();

            foreach (var generatorPlugin in generatorPlugins)
            {
                //todo: should set the parameters, and do not pass empty
                var pluginDescriptor = new PluginDescriptor(Path.GetFileNameWithoutExtension(generatorPlugin), generatorPlugin, PluginType.Generator, string.Empty);
                LoadPlugin(pluginDescriptor, pluginLoader, generatorPluginEvents, unitTestProviderConfigration);
            }
        }
Example #15
0
        public void Should_be_able_to_register_further_dependencies_based_on_the_configuration() //generatorPluginEvents.RaiseCustomizeDependencies();
        {
            var pluginWithCustomization = new PluginWithCustomization();
            var generatorPluginEvents   = new GeneratorPluginEvents();

            pluginWithCustomization.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), new UnitTestProviderConfiguration());

            var container = new ObjectContainer();
            var specFlowProjectConfiguration = new SpecFlowProjectConfiguration();

            generatorPluginEvents.RaiseCustomizeDependencies(container, specFlowProjectConfiguration);
            container.ResolveAll <ITestHeaderWriter>().Should().BeEmpty();

            specFlowProjectConfiguration.SpecFlowConfiguration.StopAtFirstError = true;
            generatorPluginEvents.RaiseCustomizeDependencies(container, specFlowProjectConfiguration);

            var customHeaderWriter = container.Resolve <ITestHeaderWriter>();

            customHeaderWriter.Should().BeOfType <CustomHeaderWriter>();
        }
Example #16
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     generatorPluginEvents.ConfigurationDefaults += (sender, args) => { specifyDefaults(args.SpecFlowProjectConfiguration); };
 }
Example #17
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     generatorPluginEvents.RegisterDependencies += (sender, args) => args.ObjectContainer.RegisterTypeAs <CustomDependency, ICustomDependency>();
 }
Example #18
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters,
                        UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     // Register the decorator
     generatorPluginEvents.RegisterDependencies += RegisterDependencies;
 }
Example #19
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters)
 {
 }
Example #20
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters)
 {
     generatorPluginEvents.RegisterDependencies += GeneratorPluginEvents_RegisterDependencies;
 }
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     unitTestProviderConfiguration.UseUnitTestProvider("nunit");
 }
        private static void LoadPlugins(ObjectContainer container, IGeneratorConfigurationProvider configurationProvider, SpecFlowConfigurationHolder configurationHolder, GeneratorPluginEvents generatorPluginEvents)
        {
            // initialize plugins that were registered from code
            foreach (var generatorPlugin in container.Resolve <IDictionary <string, IGeneratorPlugin> >().Values)
            {
                // these plugins cannot have parameters
                generatorPlugin.Initialize(generatorPluginEvents, new GeneratorPluginParameters());
            }

            var pluginLoader = container.Resolve <IGeneratorPluginLoader>();

            foreach (var pluginDescriptor in configurationProvider.GetPlugins(configurationHolder).Where(pd => (pd.Type & PluginType.Generator) != 0))
            {
                LoadPlugin(pluginDescriptor, pluginLoader, generatorPluginEvents);
            }
        }
Example #23
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     //unitTestProviderConfiguration.UseUnitTestProvider("specs-multiple-configurations");
     generatorPluginEvents.RegisterDependencies  += GeneratorPluginEvents_RegisterDependencies;
     generatorPluginEvents.CustomizeDependencies += GeneratorPluginEvents_CustomizeDependencies;
 }
        private static void LoadPlugin(PluginDescriptor pluginDescriptor, IGeneratorPluginLoader pluginLoader, GeneratorPluginEvents generatorPluginEvents)
        {
            var plugin = pluginLoader.LoadPlugin(pluginDescriptor);
            var generatorPluginParameters = new GeneratorPluginParameters
            {
                Parameters = pluginDescriptor.Parameters
            };

            plugin.Initialize(generatorPluginEvents, generatorPluginParameters);
        }
Example #25
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     unitTestProviderConfiguration.UseUnitTestProvider("xunit"); //todo make a constant
 }
Example #26
0
 public virtual void InitializeInternal(GeneratorPluginEvents events, GeneratorPluginParameters parameters)
 {
 }
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters,
                        UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     generatorPluginEvents.CustomizeDependencies += CustomizeDependencies;
 }
Example #28
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters)
 {
     generatorPluginEvents.CustomizeDependencies += this.GeneratorPluginEventsOnCustomizeDependencies;
 }
Example #29
0
 public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters,
                        UnitTestProviderConfiguration unitTestProviderConfiguration)
 {
     var pars = new SpecFlowGherkinParser(new GherkinDialectProvider());
 }