private static ChangeDocumenterContext CreateChangeDocumenterContext(Context context, string patternFileNameOriginal, string patternFileNameNew) { var documenterSettings = Program.Configuration.GetSection("Documenter").Get <DocumenterSettings>(); ITableCustomizer customizerOriginal = null; ITableCustomizer customizerNew = null; if (patternFileNameOriginal != null) { customizerOriginal = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileNameOriginal, documenterSettings); } if (patternFileNameNew != null) { customizerNew = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileNameNew, documenterSettings); } customizerOriginal ??= new EmptyTableCustomizer(); customizerNew ??= new EmptyTableCustomizer(); var changeDocumenterContext = new ChangeDocumenterContext { DocumenterSettings = documenterSettings, Settings = context.Settings, Logger = context.Logger, CustomizerOriginal = customizerOriginal, CustomizerNew = customizerNew }; return(changeDocumenterContext); }
private static GeneratorContext CreateGeneratorContext(Context context, string patternFileName) { var documenterSettings = Program.Configuration.GetSection("Documenter").Get <DocumenterSettings>(); var generatorSetting = new GeneratorSettings { WorkingDirectory = documenterSettings.WorkingDirectory }; ITableCustomizer customizer = null; if (patternFileName != null) { customizer = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileName, documenterSettings); } customizer ??= new EmptyTableCustomizer(); var generatorContext = new GeneratorContext { GeneratorSettings = generatorSetting, Settings = context.Settings, Logger = context.Logger, Customizer = customizer }; return(generatorContext); }
public void ShouldSkip() { // Pattern; PatternExcept; ShouldSkipIfMatch; CategoryIfMatch; BackGroundColorIfMatch const string patternContent = ";skip*;;;1;"; var customizer = PatternMatchingTableCustomizerFromPatterns.FromString(patternContent); var schemaAndTableName1 = new SchemaAndTableName("dbo", "skipMe"); var schemaAndTableName2 = new SchemaAndTableName("dbo", "dontSkipMe"); var shouldSkip1 = customizer.ShouldSkip(schemaAndTableName1); var shouldSkip2 = customizer.ShouldSkip(schemaAndTableName2); Assert.IsTrue(shouldSkip1); Assert.IsFalse(shouldSkip2); }
public void ShouldSkip2() { const string patternContent = "staging;;;;1"; var customizer = PatternMatchingTableCustomizerFromPatterns.FromString(patternContent); var schemaAndTableName1 = new SchemaAndTableName("staging", "apple"); var schemaAndTableName2 = new SchemaAndTableName("staging", ""); var schemaAndTableName3 = new SchemaAndTableName("staging", null); var shouldSkip1 = customizer.ShouldSkip(schemaAndTableName1); var shouldSkip2 = customizer.ShouldSkip(schemaAndTableName2); var shouldSkip3 = customizer.ShouldSkip(schemaAndTableName3); Assert.IsTrue(shouldSkip1); Assert.IsTrue(shouldSkip2); Assert.IsTrue(shouldSkip3); }
public void TableCustomizerFromCsv() { using (var file = new StreamWriter("TestDatabaseFks.DbTools.Patterns.csv")) { file.WriteLine("PatternSchema;PatternTableName;PatternExceptSchema;PatternExceptTableName;ShouldSkipIfMatch;CategoryIfMatch;BackGroundColorIfMatch"); file.WriteLine(";Parent;;;0;Parent;606060"); file.WriteLine(";Child;;;1"); file.WriteLine(";*ildC*;;;0;TestCategory"); } var db = new TestDatabaseFks(); db.SetVersions(GenericVersion.Generic1.GetTypeMapper()); var patternMatching = PatternMatchingTableCustomizerFromPatterns.FromCsv("TestDatabaseFks", null); var documenter = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(GenericVersion.Generic1, patternMatching), GenericVersion.Generic1, "TestDatabaseFks"); documenter.Document(db); }
private static DocumenterContext CreateDocumenterContext(Context context, string patternFileName) { var documenterSettings = Program.Configuration.GetSection("Documenter").Get <DocumenterSettings>(); ITableCustomizer customizer = null; if (patternFileName != null) { customizer = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileName, documenterSettings); } customizer ??= new EmptyTableCustomizer(); var documenterContext = new DocumenterContext { DocumenterSettings = documenterSettings, Settings = context.Settings, Logger = context.Logger, Customizer = customizer }; return(documenterContext); }