public void Should_generate_test_from_feature_file_specified_by_path() { using (var tempFile = new TempFile(".feature")) { tempFile.SetContent(CreateSimpleValidFeatureFileInput().FeatureFileContent); ProjectSettings projectSettings = new ProjectSettings { ProjectFolder = tempFile.FolderName, ProjectPlatformSettings = net35CSSettings }; var testGenerator = CreateTestGenerator(projectSettings); var result = testGenerator.GenerateTestFile( new FeatureFileInput(tempFile.FileName), defaultSettings); result.Success.Should().Be(true); } }
public void Should_detect_up_to_date_test_file_based_on_modification_time() { using (var tempFile = new TempFile(".feature")) { tempFile.SetContent("any"); using (var tempTestFile = new TempFile(".cs")) { // set test content tempTestFile.SetContent("any_code"); var testUpToDateChecker = CreateUpToDateChecker(); TestHeaderWriterStub.Setup(thw => thw.DetectGeneratedTestVersion(It.IsAny<string>())).Returns(TestGeneratorFactory.GeneratorVersion); var result = testUpToDateChecker.IsUpToDatePreliminary(new FeatureFileInput(tempFile.FileName), tempTestFile.FullPath, UpToDateCheckingMethod.ModificationTimeAndGeneratorVersion); result.Should().Be(true); } } }
public void Should_detect_outdated_date_test_file_if_feature_file_has_outdated_generator_version() { using (var tempFile = new TempFile(".feature")) { tempFile.SetContent("any"); using (var tempTestFile = new TempFile(".cs")) { // set test content tempTestFile.SetContent("any_code"); var testUpToDateChecker = CreateUpToDateChecker(); this.TestHeaderWriterStub.Setup(thw => thw.DetectGeneratedTestVersion(It.IsAny<string>())).Returns(new Version(1, 0)); // version 1.0 is surely older than the current one var result = testUpToDateChecker.IsUpToDatePreliminary(new FeatureFileInput(tempFile.FileName), tempTestFile.FullPath, UpToDateCheckingMethod.ModificationTimeAndGeneratorVersion); result.Should().Be(false); } } }
public void Should_return_detected_version_from_file() { Version version = new Version(); TestHeaderWriterStub.Setup(thw => thw.DetectGeneratedTestVersion("any")).Returns(version); using (var tempFile = new TempFile(".cs")) { tempFile.SetContent("any"); ProjectSettings projectSettings = new ProjectSettings { ProjectFolder = tempFile.FolderName, ProjectPlatformSettings = net35CSSettings }; var testGenerator = CreateTestGenerator(projectSettings); FeatureFileInput featureFileInput = CreateSimpleValidFeatureFileInput(); featureFileInput.GeneratedTestProjectRelativePath = tempFile.FileName; var result = testGenerator.DetectGeneratedTestVersion(featureFileInput); result.Should().NotBeNull(); result.Should().Be(version); } }
public void Should_detect_outdated_date_test_file_if_feature_file_missing() { using (var tempFile = new TempFile(".feature")) { tempFile.SetContent("any"); var testUpToDateChecker = CreateUpToDateChecker(); var result = testUpToDateChecker.IsUpToDatePreliminary(new FeatureFileInput(tempFile.FileName), tempFile.FileName + ".cs", UpToDateCheckingMethod.ModificationTimeAndGeneratorVersion); result.Should().Be(false); } }
public void Should_outdated_test_file_based_on_content_compare_from_file() { using (var tempFile = new TempFile(".feature")) { tempFile.SetContent("any"); using (var tempTestFile = new TempFile(".cs")) { // set test content tempTestFile.SetContent("any_code"); var testUpToDateChecker = CreateUpToDateChecker(); TestHeaderWriterStub.Setup(thw => thw.DetectGeneratedTestVersion(It.IsAny<string>())).Returns(TestGeneratorFactory.GeneratorVersion); var result = testUpToDateChecker.IsUpToDate(new FeatureFileInput(tempFile.FileName), tempTestFile.FullPath, "new_code", UpToDateCheckingMethod.FileContent); result.Should().Be(false); } } }
public void Should_not_give_preliminary_positive_result_if_file_content_check_was_requested() { using (var tempFile = new TempFile(".feature")) { tempFile.SetContent("any"); using (var tempTestFile = new TempFile(".cs")) { // set test content tempTestFile.SetContent("any_code"); var testUpToDateChecker = CreateUpToDateChecker(); TestHeaderWriterStub.Setup(thw => thw.DetectGeneratedTestVersion(It.IsAny<string>())).Returns(TestGeneratorFactory.GeneratorVersion); var result = testUpToDateChecker.IsUpToDatePreliminary(new FeatureFileInput(tempFile.FileName), tempTestFile.FullPath, UpToDateCheckingMethod.FileContent); result.Should().NotHaveValue(); } } }
public void Should_detect_outdated_date_test_file_if_feature_file_changed_based_on_modification_time() { using (var tempFile = new TempFile(".feature")) { tempFile.SetContent("any"); using (var tempTestFile = new TempFile(".cs")) { // set test content tempTestFile.SetContent("any_code"); //re-set content with a slight delay Thread.Sleep(10); tempFile.SetContent("new_feature"); var testUpToDateChecker = CreateUpToDateChecker(); TestHeaderWriterStub.Setup(thw => thw.DetectGeneratedTestVersion(It.IsAny<string>())).Returns(TestGeneratorFactory.GeneratorVersion); var result = testUpToDateChecker.IsUpToDatePreliminary(new FeatureFileInput(tempFile.FileName), tempTestFile.FullPath, UpToDateCheckingMethod.ModificationTimeAndGeneratorVersion); result.ShouldEqual(false); } } }