public void test_THAT_lookup_id_IS_rendered_to_caml_properly() { var operand = new LookupIdValueOperand("123"); string caml = operand.ToCaml().ToString(); Assert.That(caml, Is.EqualTo("<Value Type=\"Lookup\">123</Value>")); }
public void test_THAT_eq_operation_with_lookup_id_operand_IS_converted_to_expression_correctly() { var op1 = new FieldRefOperand("Title"); var op2 = new LookupIdValueOperand("1"); var op = new EqOperation(null, op1, op2); Expression expr = op.ToExpression(); Assert.That(expr.ToString(), Is.EqualTo("(x.get_Item(\"Title\") == Convert(Convert(\"1\")))")); }
//private bool isExpressionBasedOnCustomTypes(Expression objectExpression) //{ // return (objectExpression.NodeType == ExpressionType.Convert && // objectExpression.Type.IsSubclassOf(typeof(BaseFieldType))); //} //----------------------------------- protected virtual IOperand getFieldRefOperand(LambdaExpression expr) { if (!IsValid(expr)) { throw new NonSupportedExpressionException(expr); } var obj = this.getObjectExpression(expr); IOperand valueOperand = null; var body = expr.Body as MethodCallExpression; if (body.Method.Name == ReflectionHelper.IncludesMethodName && body.Arguments.Count == 3) { // for "Includes" extension method - when 2nd argument lookupId is provided need to add LookupId attribute to field ref operand var lookupIdExpr = body.Arguments[2]; if (lookupIdExpr is ConstantExpression && (bool)((ConstantExpression)lookupIdExpr).Value) { valueOperand = new LookupIdValueOperand("0"); } } return(operandBuilder.CreateFieldRefOperand(obj, valueOperand)); }
public void test_WHEN_string_is_not_valid_integer_THEN_exception_is_thrown() { var operand = new LookupIdValueOperand("asd"); Assert.That(operand.Value, Is.EqualTo(1)); }