public FeatureFileInfo(ProjectItem projectItem, ProjectItem codeBehindItem) { ProjectRelativePath = VsxHelper.GetProjectRelativePath(projectItem); var codeBehindItemChangeDate = VsxHelper.GetLastChangeDate(codeBehindItem) ?? DateTime.MinValue; var featureFileLastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue; LastChangeDate = featureFileLastChangeDate > codeBehindItemChangeDate ? featureFileLastChangeDate : codeBehindItemChangeDate; }
protected override void Analyze(FeatureFileInfo featureFileInfo, ProjectItem projectItem) { vsProjectScope.Tracer.Trace("Analyzing feature file: " + featureFileInfo.ProjectRelativePath, "ProjectFeatureFilesTracker"); var codeBehindChangeDate = AnalyzeCodeBehind(featureFileInfo, projectItem); var fileContent = VsxHelper.GetFileContent(projectItem, loadLastSaved: true); featureFileInfo.ParsedFeature = ParseGherkinFile(fileContent, featureFileInfo.ProjectRelativePath, vsProjectScope.GherkinDialectServices.DefaultLanguage); var featureLastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue; featureFileInfo.LastChangeDate = featureLastChangeDate > codeBehindChangeDate ? featureLastChangeDate : codeBehindChangeDate; }
private DateTime AnalyzeCodeBehind(FeatureFileInfo featureFileInfo, ProjectItem projectItem) { var codeBehindItem = GetCodeBehindItem(projectItem); if (codeBehindItem != null) { string codeBehindContent = VsxHelper.GetFileContent(codeBehindItem); DetectGeneratedTestVersion(featureFileInfo, codeBehindContent); var lastChangeDate = VsxHelper.GetLastChangeDate(codeBehindItem) ?? DateTime.MinValue; return(lastChangeDate); } return(DateTime.MinValue); }
protected override void Analyze(BindingFileInfo fileInfo, ProjectItem projectItem) { vsProjectScope.Tracer.Trace("Analyzing binding file: {0}", this, fileInfo.ProjectRelativePath); if (fileInfo.IsAssembly) { AnalyzeAssembly(fileInfo); } else { fileInfo.StepBindings = stepSuggestionBindingCollector.GetBindingsFromProjectItem(projectItem).ToArray(); fileInfo.LastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue; } }
protected override void Analyze(BindingFileInfo fileInfo, ProjectItem projectItem, out List <BindingFileInfo> relatedFiles) { relatedFiles = null; vsProjectScope.Tracer.Trace("Analyzing binding file: {0}", this, fileInfo.ProjectRelativePath); if (fileInfo.IsAssembly) { AnalyzeAssembly(fileInfo); } else { List <ProjectItem> relatedProjectItems; fileInfo.StepBindings = stepSuggestionBindingCollector.GetBindingsFromProjectItem(projectItem, out relatedProjectItems).ToArray(); relatedFiles = relatedProjectItems.Select(pi => FindFileInfo(VsxHelper.GetProjectRelativePath(pi))).Where(fi => fi != null).Distinct().ToList(); fileInfo.LastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue; } }
private void AnalyzeAssembly(BindingFileInfo fileInfo) { var reference = VsxHelper.GetReferenceByProjectRelativePath(vsProjectScope.Project, fileInfo.ProjectRelativePath); if (reference == null) { throw new InvalidOperationException("Could not find project reference for path: " + fileInfo.ProjectRelativePath); } vsProjectScope.Tracer.Trace("Calculate step definitions from assembly: {0}", this, reference.Name); ILBindingRegistryBuilder builder = new ILBindingRegistryBuilder(vsProjectScope.Tracer); fileInfo.StepBindings = builder.GetStepDefinitionsFromAssembly(reference.Path).ToArray(); vsProjectScope.Tracer.Trace("Detected {0} step definitions from reference {1}", this, fileInfo.StepBindings.Count(), reference.Name); fileInfo.LastChangeDate = VsxHelper.GetLastChangeDate(reference) ?? DateTime.MinValue; }
public BindingFileInfo(Reference reference) { ProjectRelativePath = VsxHelper.GetProjectRelativePath(reference); LastChangeDate = VsxHelper.GetLastChangeDate(reference) ?? DateTime.MinValue; }
public BindingFileInfo(ProjectItem projectItem) { ProjectRelativePath = VsxHelper.GetProjectRelativePath(projectItem); LastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue; }