public static async Task AnalyseTables_GivenTableWithLimitedNumberOfColumns_ProducesNoMessages() { var rule = new TooManyColumnsRule(RuleLevel.Error); var testColumn = new DatabaseColumn( "test_column", Mock.Of <IDbType>(), true, null, null ); var table = new RelationalDatabaseTable( "test", new List <IDatabaseColumn> { testColumn }, null, Array.Empty <IDatabaseKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseIndex>(), Array.Empty <IDatabaseCheckConstraint>(), Array.Empty <IDatabaseTrigger>() ); var tables = new[] { table }; var hasMessages = await rule.AnalyseTables(tables).AnyAsync().ConfigureAwait(false); Assert.That(hasMessages, Is.False); }
public static async Task AnalyseTables_GivenTableWithColumnsExceedingLimit_ProducesMessages() { var rule = new TooManyColumnsRule(RuleLevel.Error, 2); var testColumn1 = new DatabaseColumn( "test_column_1", Mock.Of <IDbType>(), true, null, null ); var testColumn2 = new DatabaseColumn( "test_column_2", Mock.Of <IDbType>(), true, null, null ); var testColumn3 = new DatabaseColumn( "test_column_3", Mock.Of <IDbType>(), true, null, null ); var table = new RelationalDatabaseTable( "test", new List <IDatabaseColumn> { testColumn1, testColumn2, testColumn3 }, null, Array.Empty <IDatabaseKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseIndex>(), Array.Empty <IDatabaseCheckConstraint>(), Array.Empty <IDatabaseTrigger>() ); var tables = new[] { table }; var hasMessages = await rule.AnalyseTables(tables).AnyAsync().ConfigureAwait(false); Assert.That(hasMessages, Is.True); }
public static void AnalyseTables_GivenNullTables_ThrowsArgumentNullException() { var rule = new TooManyColumnsRule(RuleLevel.Error); Assert.That(() => rule.AnalyseTables(null), Throws.ArgumentNullException); }