public void Should_UnitTestFeatureGeneratorProvider_be_able_to_generate_anything() { var generatorProvider = CreateUnitTestFeatureGeneratorProvider(); var anyFeature = ParserHelper.CreateAnyFeature(); generatorProvider.CanGenerate(anyFeature).Should().Be(true); }
public void Should_UnitTestFeatureGeneratorProvider_create_UnitTestFeatureGenerator_instance() { var generatorProvider = CreateUnitTestFeatureGeneratorProvider(); var anyFeature = ParserHelper.CreateAnyFeature(); var generator = generatorProvider.CreateGenerator(anyFeature); generator.Should().BeOfType <UnitTestFeatureGenerator>(); }
public void Should_UnitTestFeatureGeneratorProvider_create_valid_instance() { var generatorProvider = CreateUnitTestFeatureGeneratorProvider(); var anyFeature = ParserHelper.CreateAnyFeature(); var generator = generatorProvider.CreateGenerator(anyFeature); generator.Should().NotBeNull(); }
public void Should_create_UnitTestFeatureGenerator_with_default_setup() { var featureGeneratorRegistry = CreateFeatureGeneratorRegistry(); var anyFeature = ParserHelper.CreateAnyFeature(); var generator = featureGeneratorRegistry.CreateGenerator(anyFeature); generator.Should().BeOfType <UnitTestFeatureGenerator>(); }
public void Should_TagFilteredFeatureGeneratorProvider_not_be_applied_for_feature_with_no_tgas() { container.RegisterTypeAs <TestTagFilteredFeatureGeneratorProvider, IFeatureGeneratorProvider>("mytag"); SpecFlowFeature theFeature = ParserHelper.CreateAnyFeature(); var featureGeneratorRegistry = CreateFeatureGeneratorRegistry(); var generator = featureGeneratorRegistry.CreateGenerator(theFeature); generator.Should().NotBe(TestTagFilteredFeatureGeneratorProvider.DummyGenerator); }
public void Should_TagFilteredFeatureGeneratorProvider_applied_for_registered_tag_name_with_at() { container.RegisterTypeAs <TestTagFilteredFeatureGeneratorProvider, IFeatureGeneratorProvider>("@mytag"); SpecFlowFeature theFeature = ParserHelper.CreateAnyFeature(tags: new[] { "mytag" }); var featureGeneratorRegistry = CreateFeatureGeneratorRegistry(); var generator = featureGeneratorRegistry.CreateGenerator(theFeature); generator.Should().Be(TestTagFilteredFeatureGeneratorProvider.DummyGenerator); }
public void Should_use_generic_provider_with_higher_priority() { var dummyGenerator = new Mock <IFeatureGenerator>().Object; var genericHighPrioProvider = new Mock <IFeatureGeneratorProvider>(); genericHighPrioProvider.Setup(p => p.CreateGenerator(It.IsAny <SpecFlowFeature>())).Returns(dummyGenerator); genericHighPrioProvider.Setup(p => p.CanGenerate(It.IsAny <SpecFlowFeature>())).Returns(true); // generic genericHighPrioProvider.Setup(p => p.Priority).Returns(1); // high-prio container.RegisterInstanceAs(genericHighPrioProvider.Object, "custom"); var featureGeneratorRegistry = CreateFeatureGeneratorRegistry(); var anyFeature = ParserHelper.CreateAnyFeature(); var generator = featureGeneratorRegistry.CreateGenerator(anyFeature); generator.Should().Be(dummyGenerator); }
public void Should_skip_high_priority_provider_when_not_applicable() { var dummyGenerator = new Mock <IFeatureGenerator>().Object; SpecFlowFeature theFeature = ParserHelper.CreateAnyFeature(); var genericHighPrioProvider = new Mock <IFeatureGeneratorProvider>(); genericHighPrioProvider.Setup(p => p.CreateGenerator(It.IsAny <SpecFlowFeature>())).Returns(dummyGenerator); genericHighPrioProvider.Setup(p => p.CanGenerate(theFeature)).Returns(false); // not applicable for aFeature genericHighPrioProvider.Setup(p => p.Priority).Returns(1); // high-prio container.RegisterInstanceAs(genericHighPrioProvider.Object, "custom"); var featureGeneratorRegistry = CreateFeatureGeneratorRegistry(); var generator = featureGeneratorRegistry.CreateGenerator(theFeature); generator.Should().BeOfType <UnitTestFeatureGenerator>(); }
public void Should_call_provider_wiht_the_given_feature() { var dummyGenerator = new Mock <IFeatureGenerator>().Object; var genericHighPrioProvider = new Mock <IFeatureGeneratorProvider>(); genericHighPrioProvider.Setup(p => p.CreateGenerator(It.IsAny <SpecFlowFeature>())).Returns(dummyGenerator); genericHighPrioProvider.Setup(p => p.CanGenerate(It.IsAny <SpecFlowFeature>())).Returns(true); // generic genericHighPrioProvider.Setup(p => p.Priority).Returns(1); // high-prio container.RegisterInstanceAs(genericHighPrioProvider.Object, "custom"); var featureGeneratorRegistry = CreateFeatureGeneratorRegistry(); SpecFlowFeature theFeature = ParserHelper.CreateAnyFeature(); featureGeneratorRegistry.CreateGenerator(theFeature); genericHighPrioProvider.Verify(p => p.CreateGenerator(theFeature), Times.Once()); }
protected IFeatureGenerator CreateUnitTestFeatureGenerator() { return(container.Resolve <UnitTestFeatureGeneratorProvider>().CreateGenerator(ParserHelper.CreateAnyFeature())); }
private static TestClassGenerationContext CreateGenerationContext(string tag) { return(new TestClassGenerationContext(null, ParserHelper.CreateAnyFeature(new [] { tag }), null, null, null, null, null, null, null, null, null, null, true)); }