private bool IsUpToDateByModificationTimeAndGeneratorVersion(FeatureFileInput featureFileInput, string generatedTestFullPath) { if (generatedTestFullPath == null) { return(false); } // check existance of the target file if (!File.Exists(generatedTestFullPath)) { return(false); } // check modification time of the target file try { var featureFileModificationTime = File.GetLastWriteTime(featureFileInput.GetFullPath(projectSettings)); var codeFileModificationTime = File.GetLastWriteTime(generatedTestFullPath); if (featureFileModificationTime > codeFileModificationTime) { return(false); } // check tools version var codeFileVersion = testHeaderWriter.DetectGeneratedTestVersion(featureFileInput.GetGeneratedTestContent(generatedTestFullPath)); if (codeFileVersion == null || codeFileVersion != generatorConfiguration.GeneratorVersion) { return(false); } } catch (Exception ex) { Debug.WriteLine(ex); return(false); } return(true); }
protected override Version DetectGeneratedTestVersionWithExceptions(FeatureFileInput featureFileInput) { var generatedTestFullPath = GetTestFullPath(featureFileInput); return(testHeaderWriter.DetectGeneratedTestVersion(featureFileInput.GetGeneratedTestContent(generatedTestFullPath))); }
public bool IsUpToDate(FeatureFileInput featureFileInput, string generatedTestFullPath, string generatedTestContent, UpToDateCheckingMethod upToDateCheckingMethod) { string existingFileContent = featureFileInput.GetGeneratedTestContent(generatedTestFullPath); return(existingFileContent != null && existingFileContent.Equals(generatedTestContent, StringComparison.InvariantCulture)); }