public void Validate_Valid_Tsv_File()
        {
            var validFile = new TsvFile(
                "ValidFile",
                new[] { "Id", "Name" },
                new[] { new[] { "123", "321" }, new[] { "567", "765" } }
                );
            var tsvValidator = new TsvFileValidator();

            tsvValidator.Validate(validFile);

            // No exceptions - test and validation successful, there is no Assert.Ok()
        }
        public void Validate_Invalid_Tsv_File()
        {
            var invalidFile = new TsvFile(
                "InvalidFile",
                new[] { "Id" },
                new[] { new[] { "123", "321" }, new[] { "567", "765", "234234" } }
                );
            var tsvValidator = new TsvFileValidator();

            void Act() => tsvValidator.Validate(invalidFile);

            Assert.Throws <TsvValidationException>(Act);
        }
Exemplo n.º 3
0
        static void ExecuteFlow(AppSettings settings, string connectionString)
        {
            var parser    = new TsvParser();
            var validator = new TsvFileValidator();

            using var fillService = new MySqlDatabaseImportService(connectionString);
            var loader = new TsvLoader(parser, validator, fillService);

            loader.Load(
                settings.FilesToImport ?? throw new AppSettingsMissingException(nameof(settings.FilesToImport)),
                settings.DbSchemaFile ?? throw new AppSettingsMissingException(nameof(settings.DbSchemaFile)),
                settings.DatabaseName ?? throw new AppSettingsMissingException(nameof(settings.DatabaseName))
                );
        }