From a035844ee64fbda5ec99ee5499258a3e312e9a98 Mon Sep 17 00:00:00 2001 From: David Eiwen Date: Thu, 25 Apr 2019 15:12:50 +0200 Subject: [PATCH] move fetching ProjectInfo into its own method --- .../SpecFlowSingleFileGeneratorBase.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/TechTalk.SpecFlow.VsIntegration.Implementation/SingleFileGenerator/SpecFlowSingleFileGeneratorBase.cs b/TechTalk.SpecFlow.VsIntegration.Implementation/SingleFileGenerator/SpecFlowSingleFileGeneratorBase.cs index 2213d159..e73e7727 100644 --- a/TechTalk.SpecFlow.VsIntegration.Implementation/SingleFileGenerator/SpecFlowSingleFileGeneratorBase.cs +++ b/TechTalk.SpecFlow.VsIntegration.Implementation/SingleFileGenerator/SpecFlowSingleFileGeneratorBase.cs @@ -37,11 +37,7 @@ protected override bool GenerateInternal(string inputFilePath, string inputFileC return true; } - var vsProject = project.Object as VSProject2; - var references = vsProject?.References.Cast() ?? Enumerable.Empty(); - var specFlowReference = references.FirstOrDefault(r => r.Name == "TechTalk.SpecFlow"); - var referencedSpecFlowVersion = specFlowReference is Reference3 reference ? Version.Parse(reference.Version) : null; - var projectInfo = new ProjectInfo(project.Name, referencedSpecFlowVersion); + var projectInfo = GetProjectInfoForProject(project); var ideSingleFileGenerator = new IdeSingleFileGenerator(projectInfo); @@ -64,6 +60,16 @@ protected override bool GenerateInternal(string inputFilePath, string inputFileC return outputFilePath != null; } + protected ProjectInfo GetProjectInfoForProject(Project project) + { + var vsProject = project.Object as VSProject2; + var references = vsProject?.References.Cast() ?? Enumerable.Empty(); + var specFlowReference = references.FirstOrDefault(r => r.Name == "TechTalk.SpecFlow"); + var referencedSpecFlowVersion = specFlowReference is Reference3 reference ? Version.Parse(reference.Version) : null; + var projectInfo = new ProjectInfo(project.Name, referencedSpecFlowVersion); + return projectInfo; + } + protected abstract Func GeneratorServicesProvider(Project project); protected override void AfterCodeGenerated(bool error)