public static void TransformHtml(XmlSerializer serializer, object report, Type reportType, string outputFilePath, GeneratorConfiguration generatorConfiguration, string xsltFile) { var xmlOutputWriter = new StringWriter(); serializer.Serialize(xmlOutputWriter, report); XslCompiledTransform xslt = new XslCompiledTransform(); var xsltSettings = new XsltSettings(true, false); XmlResolver resourceResolver; var reportName = reportType.Name.Replace("Generator", ""); using (var xsltReader = GetTemplateReader(reportType, reportName, xsltFile)) { resourceResolver = new XmlResourceResolver(); xslt.Load(xsltReader, xsltSettings, resourceResolver); } var xmlOutputReader = new XmlTextReader(new StringReader(xmlOutputWriter.ToString())); XsltArgumentList argumentList = new XsltArgumentList(); argumentList.AddParam("feature-language", "", generatorConfiguration.FeatureLanguage.Name); argumentList.AddParam("tool-language", "", generatorConfiguration.ToolLanguage.Name); using (var xmlTextWriter = new XmlTextWriter(outputFilePath, Encoding.UTF8)) { xslt.Transform(xmlOutputReader, argumentList, xmlTextWriter, resourceResolver); } }
public static void UpdateConfigFromFile(GeneratorConfiguration generatorConfiguration, string configFile) { using (TextReader file = new StreamReader(configFile)) { UpdateConfigFromFileContent(generatorConfiguration, file.ReadToEnd()); } }
private static UnitTestFeatureGeneratorProvider CreateUnitTestFeatureGeneratorProvider() { GeneratorConfiguration generatorConfiguration = new GeneratorConfiguration(); CodeDomHelper codeDomHelper = new CodeDomHelper(CodeDomProviderLanguage.CSharp); UnitTestFeatureGenerator unitTestFeatureGenerator = new UnitTestFeatureGenerator( new NUnitTestGeneratorProvider(codeDomHelper), codeDomHelper, generatorConfiguration, new DecoratorRegistryStub()); return new UnitTestFeatureGeneratorProvider(unitTestFeatureGenerator); }
public TestGenerator(GeneratorConfiguration generatorConfiguration, ProjectSettings projectSettings, ITestHeaderWriter testHeaderWriter, ITestUpToDateChecker testUpToDateChecker) { if (generatorConfiguration == null) throw new ArgumentNullException("generatorConfiguration"); if (projectSettings == null) throw new ArgumentNullException("projectSettings"); if (testHeaderWriter == null) throw new ArgumentNullException("testHeaderWriter"); if (testUpToDateChecker == null) throw new ArgumentNullException("testUpToDateChecker"); this.generatorConfiguration = generatorConfiguration; this.testUpToDateChecker = testUpToDateChecker; this.testHeaderWriter = testHeaderWriter; this.projectSettings = projectSettings; }
public TestGenerator(GeneratorConfiguration generatorConfiguration, ProjectSettings projectSettings, ITestHeaderWriter testHeaderWriter, ITestUpToDateChecker testUpToDateChecker, IFeatureGeneratorRegistry featureGeneratorRegistry, CodeDomHelper codeDomHelper) { if (generatorConfiguration == null) throw new ArgumentNullException("generatorConfiguration"); if (projectSettings == null) throw new ArgumentNullException("projectSettings"); if (testHeaderWriter == null) throw new ArgumentNullException("testHeaderWriter"); if (testUpToDateChecker == null) throw new ArgumentNullException("testUpToDateChecker"); if (featureGeneratorRegistry == null) throw new ArgumentNullException("featureGeneratorRegistry"); this.generatorConfiguration = generatorConfiguration; this.testUpToDateChecker = testUpToDateChecker; this.featureGeneratorRegistry = featureGeneratorRegistry; this.codeDomHelper = codeDomHelper; this.testHeaderWriter = testHeaderWriter; this.projectSettings = projectSettings; }
private bool DetectFromConfig(GeneratorInfo generatorInfo, GeneratorConfiguration generatorConfiguration) { try { if (string.IsNullOrWhiteSpace(generatorConfiguration.GeneratorPath)) return false; var generatorFolder = Path.GetFullPath( Path.Combine(VsxHelper.GetProjectFolder(project), generatorConfiguration.GeneratorPath)); tracer.Trace("Generator is configured to be at " + generatorFolder, "VsGeneratorInfoProvider"); return DetectFromFolder(generatorInfo, generatorFolder); } catch(Exception exception) { tracer.Trace(exception.ToString(), "VsGeneratorInfoProvider"); return false; } }
public static void UpdateConfigFromFileContent(GeneratorConfiguration generatorConfiguration, string configFileContent) { XmlDocument configDocument; try { configDocument = new XmlDocument(); configDocument.LoadXml(configFileContent); } catch(Exception ex) { Debug.WriteLine(ex, "Config load error"); return; } var specFlowNode = configDocument.SelectSingleNode("/configuration/specFlow"); if (specFlowNode == null) return; var section = ConfigurationSectionHandler.CreateFromXml(specFlowNode); generatorConfiguration.UpdateFromConfigFile(section); }
public SpecFlowProjectConfiguration() { GeneratorConfiguration = new GeneratorConfiguration(); // load defaults RuntimeConfiguration = new RuntimeConfigurationForGenerator(); // load defaults }
public bool Equals(GeneratorConfiguration other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.FeatureLanguage, FeatureLanguage) && Equals(other.ToolLanguage, ToolLanguage) && Equals(other.GeneratorUnitTestProviderType, GeneratorUnitTestProviderType) && other.AllowDebugGeneratedFiles.Equals(AllowDebugGeneratedFiles) && other.AllowRowTests.Equals(AllowRowTests); }
public SpecFlowProject() { FeatureFiles = new List<SpecFlowFeatureFile>(); GeneratorConfiguration = new GeneratorConfiguration(); // load defaults RuntimeConfiguration = new RuntimeConfigurationForGenerator(); // load defaults }
protected TestGenerator CreateTestGenerator(ProjectSettings projectSettings) { GeneratorConfiguration generatorConfiguration = new GeneratorConfiguration(); CodeDomHelper codeDomHelper = new CodeDomHelper(CodeDomProviderLanguage.CSharp); UnitTestFeatureGenerator unitTestFeatureGenerator = new UnitTestFeatureGenerator(new NUnitTestGeneratorProvider(codeDomHelper), codeDomHelper, generatorConfiguration, new DecoratorRegistryStub()); var generatorRegistryStub = new Mock<IFeatureGeneratorRegistry>(); generatorRegistryStub.Setup(r => r.CreateGenerator(It.IsAny<SpecFlowDocument>())).Returns(unitTestFeatureGenerator); return new TestGenerator(generatorConfiguration, projectSettings, TestHeaderWriterStub.Object, TestUpToDateCheckerStub.Object, generatorRegistryStub.Object, codeDomHelper); }
protected bool Equals(GeneratorConfiguration other) { return Equals(FeatureLanguage, other.FeatureLanguage) && Equals(ToolLanguage, other.ToolLanguage) && string.Equals(GeneratorUnitTestProvider, other.GeneratorUnitTestProvider) && AllowDebugGeneratedFiles.Equals(other.AllowDebugGeneratedFiles) && AllowRowTests.Equals(other.AllowRowTests) && GenerateAsyncTests.Equals(other.GenerateAsyncTests) && string.Equals(GeneratorPath, other.GeneratorPath) && UsesPlugins.Equals(other.UsesPlugins); }
public InProcGeneratorInfoProvider(GeneratorConfiguration generatorConfiguration) { this.generatorConfiguration = generatorConfiguration; }
public SpecFlowProjectConfiguration() { GeneratorConfiguration = new GeneratorConfiguration(); // load defaults RuntimeConfiguration = new RuntimeConfiguration(); // load defaults }
public TestUpToDateChecker(ITestHeaderWriter testHeaderWriter, GeneratorConfiguration generatorConfiguration, ProjectSettings projectSettings) { this.testHeaderWriter = testHeaderWriter; this.projectSettings = projectSettings; this.generatorConfiguration = generatorConfiguration; }
protected bool Equals(GeneratorConfiguration other) { return(Equals(FeatureLanguage, other.FeatureLanguage) && Equals(ToolLanguage, other.ToolLanguage) && string.Equals(GeneratorUnitTestProvider, other.GeneratorUnitTestProvider) && AllowDebugGeneratedFiles.Equals(other.AllowDebugGeneratedFiles) && AllowRowTests.Equals(other.AllowRowTests) && string.Equals(GeneratorPath, other.GeneratorPath) && UsesPlugins.Equals(other.UsesPlugins)); }