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()); }
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); }
/// <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()); }
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()); }
/// <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(); }
/// <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; }
/// <summary> /// 非包含集合条件 /// </summary> /// <param name="paramValueList">比较的值列表</param> /// <returns>返回非包含集合条件对象</returns> public static NotInCondition NotIn(object[] paramValueList) { NotInCondition cond = new NotInCondition(paramValueList); return cond; }
/// <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); }
/// <summary> /// 非包含集合条件 /// </summary> /// <param name="paramValueList">比较的值列表</param> /// <returns>返回非包含集合条件对象</returns> public static NotInCondition NotIn(object[] paramValueList) { NotInCondition cond = new NotInCondition(paramValueList); return(cond); }