public void Should_be_able_generate_from_a_simple_invalid_feature() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var generator = remoteFactory.CreateGenerator(new ProjectSettings() { ProjectFolder = Path.GetTempPath() }); FeatureFileInput featureFileInput = new FeatureFileInput("Test.feature") { FeatureFileContent = @" Feature: Addition Scenario: Add two numbers Given I have entered 50 into the calculator AndXXX the keyword is misspelled " }; var result = generator.GenerateTestFile(featureFileInput, new GenerationSettings()); result.ShouldNotBeNull(); result.Success.ShouldBeFalse(); result.Errors.ShouldNotBeNull(); result.Errors.ShouldNotBeEmpty(); } }
private RemoteAppDomainTestGeneratorFactory CreateRemoteAppDomainTestGeneratorFactory(string generatorFolder) { var factory = new RemoteAppDomainTestGeneratorFactory(tracerStub.Object); factory.Setup(generatorFolder); return(factory); }
public void Should_be_able_generate_from_a_simple_valid_feature() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var generator = remoteFactory.CreateGenerator(new ProjectSettings() { ProjectFolder = Path.GetTempPath() }); FeatureFileInput featureFileInput = new FeatureFileInput("Test.feature") { FeatureFileContent = @" Feature: Addition @mytag Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then the result should be 120 on the screen " }; var result = generator.GenerateTestFile(featureFileInput, new GenerationSettings()); result.ShouldNotBeNull(); result.Success.ShouldBeTrue(); result.GeneratedTestCode.ShouldNotBeNull(); } }
public void Should_be_able_to_initialize() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { remoteFactory.Initialize(); remoteFactory.IsRunning.ShouldBeTrue(); } }
public void Should_be_able_to_create_generator_with_default_config() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var generator = remoteFactory.CreateGenerator(new ProjectSettings()); generator.ShouldNotBeNull(); } }
public void Should_start_running_delayed() { RemoteAppDomainTestGeneratorFactory remoteFactory; using (remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { remoteFactory.IsRunning.ShouldBeFalse(); } }
public void Should_be_able_to_return_generator_version() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var version = remoteFactory.GetGeneratorVersion(); version.ShouldNotBeNull(); version.ShouldEqual(TestGeneratorFactory.GeneratorVersion); } }
public void Should_cleanup_after_generator_disposed() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var generator = remoteFactory.CreateGenerator(new ProjectSettings()); generator.Dispose(); remoteFactory.IsRunning.ShouldBeFalse(); } }
public void Should_not_cleanup_when_one_generator_is_still_used() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var generator1 = remoteFactory.CreateGenerator(new ProjectSettings()); var generator2 = remoteFactory.CreateGenerator(new ProjectSettings()); generator1.Dispose(); remoteFactory.IsRunning.ShouldBeTrue(); } }
public void Should_cleanup_ater_dispose() { RemoteAppDomainTestGeneratorFactory remoteFactory; using (remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { remoteFactory.Initialize(); } remoteFactory.IsRunning.ShouldBeFalse(); }
public void Should_cleanup_when_all_generators_are_disposed() { using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var generator1 = remoteFactory.CreateGenerator(new ProjectSettings()); var generator2 = remoteFactory.CreateGenerator(new ProjectSettings()); generator1.Dispose(); generator2.Dispose(); remoteFactory.IsRunning.ShouldBeFalse(); } }
public void Should_be_able_to_load_generator_from_another_folder() { using (var tempFolder = new TempFolder()) { var generatorAssemblyFile = typeof(TestGeneratorFactory).Assembly.Location; var utilsAssemblyFile = typeof(FileSystemHelper).Assembly.Location; FileSystemHelper.CopyFileToFolder(generatorAssemblyFile, tempFolder.FolderName); FileSystemHelper.CopyFileToFolder(utilsAssemblyFile, tempFolder.FolderName); using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(tempFolder.FolderName)) { var generator = remoteFactory.CreateGenerator(new ProjectSettings()); generator.ShouldNotBeNull(); } } }
public void Should_create_custom_generator_when_configured_so() { var configurationHolder = new SpecFlowConfigurationHolder(string.Format(@" <specFlow> <generator> <dependencies> <register type=""{0}"" as=""{1}""/> </dependencies> </generator> </specFlow>", typeof(DummyGenerator).AssemblyQualifiedName, typeof(ITestGenerator).AssemblyQualifiedName)); var projectSettings = new ProjectSettings(); projectSettings.ConfigurationHolder = configurationHolder; using (var remoteFactory = new RemoteAppDomainTestGeneratorFactory(currentGeneratorFolder)) { var generator = remoteFactory.CreateGenerator(projectSettings); generator.ToString().ShouldEqual("DummyGenerator"); // since the type is wrapped, we can only check it this way } }