public static async Task AnalyseViews_GivenViewWithColumnNameContainingWhitespace_ProducesMessages()
        {
            var rule     = new WhitespaceNameRule(RuleLevel.Error);
            var viewName = new Identifier("test");

            var testColumn = new DatabaseColumn(
                "   test_column   ",
                Mock.Of <IDbType>(),
                false,
                null,
                null
                );

            var view = new DatabaseView(
                viewName,
                "select 1",
                new List <IDatabaseColumn> {
                testColumn
            }
                );
            var views = new[] { view };

            var hasMessages = await rule.AnalyseViews(views).AnyAsync().ConfigureAwait(false);

            Assert.That(hasMessages, Is.True);
        }
        public static async Task AnalyseViews_GivenViewWithRegularName_ProducesNoMessages()
        {
            var rule     = new WhitespaceNameRule(RuleLevel.Error);
            var viewName = new Identifier("test");

            var view = new DatabaseView(
                viewName,
                "select 1",
                new List <IDatabaseColumn>()
                );
            var views = new[] { view };

            var hasMessages = await rule.AnalyseViews(views).AnyAsync().ConfigureAwait(false);

            Assert.That(hasMessages, Is.False);
        }
        public static void AnalyseViews_GivenNullViews_ThrowsArgumentNullException()
        {
            var rule = new WhitespaceNameRule(RuleLevel.Error);

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