Exemplo n.º 1
0
        public override bool Check(string query)
        {
            var arguments = SelectUtils.GetArgumentsFromQuery(query);

            if (arguments[1] != "*" && !arguments[1].StartsWith("("))
            {
                throw new MalformedArgumentsException();
            }

            var fromKeyword = SelectUtils.GetFromKeywordFromArguments(arguments).ToLower();

            if (fromKeyword != "from")
            {
                throw new MalformedArgumentsException();
            }

            var whereKeyword = SelectUtils.GetWhereKeywordFromArguments(arguments);

            if (whereKeyword != null && whereKeyword.ToLower() != "where")
            {
                throw new MalformedArgumentsException();
            }

            return(this.CheckNext(query));
        }
Exemplo n.º 2
0
        public void GetWhereKeywordFromArguments_KeywordNotExists_ShouldReturnNull(string query)
        {
            var arguments = SelectUtils.GetArgumentsFromQuery(query);

            var actual = SelectUtils.GetWhereKeywordFromArguments(arguments);

            Assert.Null(actual);
        }
Exemplo n.º 3
0
        public void GetWhereKeywordFromArguments_KeywordExists_ShouldReturnValidKeyword(string query)
        {
            var arguments = SelectUtils.GetArgumentsFromQuery(query);

            var actual = SelectUtils.GetWhereKeywordFromArguments(arguments);

            var expected = "WHERE";

            Assert.Equal(expected, actual);
        }
Exemplo n.º 4
0
        public override bool Check(string query)
        {
            var arguments = SelectUtils.GetArgumentsFromQuery(query);
            var keyword   = SelectUtils.GetWhereKeywordFromArguments(arguments);

            var condition = SelectUtils.GetConditionFromQuery(query);
            var tableName = SelectUtils.GetTableNameFromArguments(arguments).ToLower();

            if (keyword != null && condition == null)
            {
                throw new MalformedArgumentsException();
            }
            return(CheckNext(query));
        }