Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public static void AnalyseTables_GivenNullTables_ThrowsArgumentNullException()
        {
            var rule = new TooManyColumnsRule(RuleLevel.Error);

            Assert.That(() => rule.AnalyseTables(null), Throws.ArgumentNullException);
        }