public void Input_validator_returns_0_if_all_validators_pass() { // Given var fileName = string.Empty; var fileCheckerStub = new Mock <IFileChecker>(); fileCheckerStub.Setup(fc => fc.FileExists(fileName)).Returns(true); var textFileCheckerStub = new Mock <ITextFileChecker>(); textFileCheckerStub.Setup(tfc => tfc.IsTextFile(fileName)).Returns(true).Verifiable(); var permissionsCheckerStub = new Mock <IPermissionChecker>(); permissionsCheckerStub.Setup(pc => pc.CanReadFile(fileName)).Returns(true).Verifiable(); var validator = new InputFileValidator(fileCheckerStub.Object, textFileCheckerStub.Object, permissionsCheckerStub.Object); // When var result = validator.Validate(fileName); // Then result.Should().Be(0); }
public void Input_validator_passes_the_correct_filename(string fileName) { // Given var fileCheckerMock = new Mock <IFileChecker>(); fileCheckerMock.Setup(fc => fc.FileExists(fileName)).Returns(true).Verifiable(); var textFileCheckerMock = new Mock <ITextFileChecker>(); textFileCheckerMock.Setup(tfc => tfc.IsTextFile(fileName)).Returns(true).Verifiable(); var permissionCheckerMock = new Mock <IPermissionChecker>(); permissionCheckerMock.Setup(pc => pc.CanReadFile(fileName)).Verifiable(); var validator = new InputFileValidator(fileCheckerMock.Object, textFileCheckerMock.Object, permissionCheckerMock.Object); // When validator.Validate(fileName); // Then fileCheckerMock.Verify(); textFileCheckerMock.Verify(); permissionCheckerMock.Verify(); }
public void Input_validator_returns_1_if_file_does_not_exist() { // Given var fileName = string.Empty; var fileCheckerStub = new Mock <IFileChecker>(); fileCheckerStub.Setup(fc => fc.FileExists(fileName)).Returns(false); var validator = new InputFileValidator(fileCheckerStub.Object, null, null); // When var result = validator.Validate(fileName); // Then result.Should().Be(1); }
public void TestProcessFileThrowsException() { InputFileValidator validator = new InputFileValidator(); Assert.ThrowsException <IndexOutOfRangeException>( () => validator.ProcessFile(Constants.INPUT_FILE_DIRECTORY + "Test1-MissingRequiredFields.txt")); Assert.ThrowsException <FormatException>( () => validator.ProcessFile(Constants.INPUT_FILE_DIRECTORY + "Test2-MalformedDOB.txt")); Assert.ThrowsException <ArgumentOutOfRangeException>( () => validator.ProcessFile(Constants.INPUT_FILE_DIRECTORY + "Test2b-InvalidDOB.txt")); Assert.ThrowsException <ArgumentException>( () => validator.ProcessFile(Constants.INPUT_FILE_DIRECTORY + "Test3-InvalidPlanType.txt")); Assert.ThrowsException <FormatException>( () => validator.ProcessFile(Constants.INPUT_FILE_DIRECTORY + "Test4-MalformedEffectiveDate.txt")); Assert.ThrowsException <ArgumentOutOfRangeException>( () => validator.ProcessFile(Constants.INPUT_FILE_DIRECTORY + "Test4b-InvalidEffectiveDate.txt")); }
public void Input_validator_returns_2_if_file_is_not_textFile() { // Given var fileName = string.Empty; var fileCheckerStub = new Mock <IFileChecker>(); fileCheckerStub.Setup(fc => fc.FileExists(fileName)).Returns(true); var textFileCheckerStub = new Mock <ITextFileChecker>(); textFileCheckerStub.Setup(tfc => tfc.IsTextFile(fileName)).Returns(false); var validator = new InputFileValidator(fileCheckerStub.Object, textFileCheckerStub.Object, null); // When var result = validator.Validate(fileName); // Then result.Should().Be(2); }
public void CreateFeed(string inputFile, string outputFile) { InputFileValidator validator = new InputFileValidator(_inputFileXsd); var errors = validator.ValidateErrors(inputFile); if (errors.Any()) { throw new ArgumentException("There are errors in the input file", inputFile); } string atomFeed = ""; XsltSettings xslSettings = new XsltSettings {EnableScript = true}; var xsl = new XslCompiledTransform(); xsl.Load(_xsltFile, xslSettings, null); using (var stream = new FileStream(outputFile, FileMode.Create, FileAccess.Write)) { xsl.Transform(inputFile, null, Console.Out); xsl.Transform(inputFile, null, stream); } }
public void CreateReport(string inputFile, string transformationFile, string outputFile) { InputFileValidator validator = new InputFileValidator(_inputFileXsd); var errors = validator.ValidateErrors(inputFile); if (errors.Any()) { throw new ArgumentException("There are errors in the input file", inputFile); } var xsl = new XslCompiledTransform(); xsl.Load(transformationFile); var xsltArgs = GetXsltParams(); using (var stream = new FileStream(outputFile, FileMode.Create, FileAccess.Write)) { xsl.Transform(inputFile, xsltArgs, Console.Out); xsl.Transform(inputFile, xsltArgs, stream); } }