Esempio n. 1
0
        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);
        }
Esempio n. 2
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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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"));
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
        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);
            }
        }