public void Test_3()
        {
            var parameters = new List <string>();
            var condition  = new NotInCondition("a", parameters);

            Assert.Null(condition.GetCondition());
        }
        public void Test_5()
        {
            var parameters = new List <string> {
                "b", "c"
            };
            var condition = new NotInCondition("", parameters);

            Assert.Null(condition.GetCondition());
        }
        public void Test_2()
        {
            var parameters = new List <string> {
                "b", "c"
            };
            var condition = new NotInCondition("a", parameters);

            Assert.Equal("a Not In (b,c)", condition.GetCondition());
        }
Ejemplo n.º 4
0
    public void ToStringTest(string expectedExpr, string operandExpr, params string[] valuesExpr)
    {
        var operand   = new FakeToStringCondition(operandExpr);
        var valueList = valuesExpr.Select(i => new FakeToStringCondition(i)).ToList();

        var sut    = new NotInCondition(operand, valueList);
        var actual = sut.ToString();

        actual.Should().Be(expectedExpr);
    }
Ejemplo n.º 5
0
        /// <summary>
        /// NOT IN条件解析
        /// </summary>
        /// <param name="condition">需要解析的条件对象</param>
        /// <returns>返回解析后的条件字符串</returns>
        protected override string NotInParse(NotInCondition condition)
        {
            StringBuilder conditionStr = new StringBuilder(" ");
            string        queryColName = condition.SearchColumn.CurrentSearcher.TableName + "." + condition.SearchColumn.ColumnName;

            if (string.IsNullOrEmpty(condition.SearchColumn.ConditionString))
            {
                conditionStr.Append(queryColName);
            }
            else
            {
                conditionStr.Append(condition.SearchColumn.ConditionString.Replace(SQLPlaceholder.ColName, queryColName));
            }

            conditionStr.Append(" NOT IN ( ");

            string paramName = string.Empty;
            int    i         = 0;

            foreach (object pvalue in condition.ParamValueList)
            {
                if (i != 0)
                {
                    conditionStr.Append(",");
                }

                if (pvalue is SearchColumn)
                {
                    SearchColumn tmpColumn    = (SearchColumn)pvalue;
                    string       valueColName = tmpColumn.CurrentSearcher.TableName + "." + tmpColumn.ColumnName;
                    conditionStr.Append(valueColName);
                }
                else
                {
                    if (!string.IsNullOrEmpty(pvalue.ToString()))
                    {
                        paramName = "P" + Guid.NewGuid().ToString().ToLower().Replace("-", "");
                        conditionStr.Append("@" + paramName);

                        ParamCollection.Add(new MySqlParameter(paramName, pvalue));
                    }
                    else
                    {
                        conditionStr.Append("''");
                    }
                }

                i++;
            }

            conditionStr.Append(") ");

            return(conditionStr.ToString());
        }
Ejemplo n.º 6
0
    public void Evaluate(bool expectedResult, object operandValue, params object[] keywordValues)
    {
        var variables = A.Dummy <IVariableDictionary>();

        var operand = A.Fake <IConditionKeyword>(i => i.Strict());

        A.CallTo(() => operand.Evaluate(variables)).Returns(operandValue);

        var valueList = new List <IConditionKeyword>();

        foreach (var value in keywordValues)
        {
            var item = A.Fake <IConditionKeyword>(i => i.Strict());
            A.CallTo(() => item.Evaluate(variables)).Returns(value);
            valueList.Add(item);
        }

        var sut    = new NotInCondition(operand, valueList);
        var actual = sut.Evaluate(variables);

        actual.Should().Be(expectedResult);
    }
        public void Test_4()
        {
            var condition = new NotInCondition("a", null);

            Assert.Null(condition.GetCondition());
        }
Ejemplo n.º 8
0
        /// <summary>
        /// NOT IN条件解析
        /// </summary>
        /// <param name="condition">需要解析的条件对象</param>
        /// <returns>返回解析后的条件字符串</returns>
        protected override string NotInParse(NotInCondition condition)
        {
            StringBuilder conditionStr = new StringBuilder(" ");
            string queryColName = condition.SearchColumn.CurrentSearcher.TableName + "." + condition.SearchColumn.ColumnName;

            if (string.IsNullOrEmpty(condition.SearchColumn.ConditionString))
            {
                conditionStr.Append(queryColName);
            }
            else
            {
                conditionStr.Append(condition.SearchColumn.ConditionString.Replace(SQLPlaceholder.ColName, queryColName));
            }

            conditionStr.Append(" NOT IN ( ");

            string paramName = string.Empty;
            int i = 0;

            foreach (object pvalue in condition.ParamValueList)
            {
                if (i != 0)
                {
                    conditionStr.Append(",");
                }

                if (pvalue is SearchColumn)
                {
                    SearchColumn tmpColumn = (SearchColumn)pvalue;
                    string valueColName = tmpColumn.CurrentSearcher.TableName + "." + tmpColumn.ColumnName;
                    conditionStr.Append(valueColName);
                }
                else
                {
                    if (!string.IsNullOrEmpty(pvalue.ToString()))
                    {
                        paramName = "P" + Guid.NewGuid().ToString().ToLower().Replace("-", "");
                        conditionStr.Append(":" + paramName);

                        ParamCollection.Add(new DBParam(paramName, pvalue));
                    }
                    else
                    {
                        conditionStr.Append("''");
                    }
                }

                i++;
            }

            conditionStr.Append(") ");

            return conditionStr.ToString();
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 非包含集合条件
 /// </summary>
 /// <param name="relation">条件关系</param>
 /// <param name="column">查询字段对象</param>
 /// <param name="paramValueList">比较的值列表</param>
 /// <returns>返回非包含集合条件对象</returns>
 public static NotInCondition NotIn(ConditionRelation relation, SearchColumn column, object[] paramValueList)
 {
     NotInCondition cond = new NotInCondition(relation, column, paramValueList);
     return cond;
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 非包含集合条件
 /// </summary>
 /// <param name="paramValueList">比较的值列表</param>
 /// <returns>返回非包含集合条件对象</returns>
 public static NotInCondition NotIn(object[] paramValueList)
 {
     NotInCondition cond = new NotInCondition(paramValueList);
     return cond;
 }
Ejemplo n.º 11
0
        /// <summary>
        /// 非包含集合条件
        /// </summary>
        /// <param name="relation">条件关系</param>
        /// <param name="column">查询字段对象</param>
        /// <param name="paramValueList">比较的值列表</param>
        /// <returns>返回非包含集合条件对象</returns>
        public static NotInCondition NotIn(ConditionRelation relation, SearchColumn column, object[] paramValueList)
        {
            NotInCondition cond = new NotInCondition(relation, column, paramValueList);

            return(cond);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 非包含集合条件
        /// </summary>
        /// <param name="paramValueList">比较的值列表</param>
        /// <returns>返回非包含集合条件对象</returns>
        public static NotInCondition NotIn(object[] paramValueList)
        {
            NotInCondition cond = new NotInCondition(paramValueList);

            return(cond);
        }