public void test_THAT_field_ref_operand_with_none_IS_converted_to_expression_correctly()
        {
            var op      = new FieldRefOperand("Title");
            var opOrder = new FieldRefOperandWithOrdering(op, new Camlex.None());
            var expr    = opOrder.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("x.get_Item(\"Title\")"));
        }
示例#2
0
        public void test_THAT_field_ref_with_guid_IS_rendered_to_caml_properly()
        {
            var    guid = new Guid("4feaf1f3-5b04-4d93-b0fc-4e48d0c60eed");
            var    fr   = new FieldRefOperand(guid);
            string caml = fr.ToCaml().ToString();

            Assert.That(caml, Is.EqualTo("<FieldRef ID=\"4feaf1f3-5b04-4d93-b0fc-4e48d0c60eed\" />"));
        }
示例#3
0
        public void test_THAT_field_ref_operand_with_guid_IS_converted_to_expression_correctly()
        {
            var id   = new Guid("{7742D3F8-A2B7-430F-BDEB-B2DDBF853901}");
            var op   = new FieldRefOperand(id);
            var expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("x.get_Item(new Guid(\"7742d3f8-a2b7-430f-bdeb-b2ddbf853901\"))").Using(new CaseInsensetiveComparer()));
        }
示例#4
0
        public void test_THAT_join_operation_with_foreign_and_primary_list_IS_converted_to_expression_correctly()
        {
            var        op1  = new FieldRefOperand("CityName", (new[] { new KeyValuePair <string, string>(Attributes.List, "Customers"), new KeyValuePair <string, string>(Attributes.RefType, "Id") }).ToList());
            var        op2  = new FieldRefOperand("Id", (new[] { new KeyValuePair <string, string>(Attributes.List, "CustomerCities") }).ToList());
            var        op   = new JoinOperation(null, op1, op2, JoinType.Inner);
            Expression expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("x.get_Item(\"CityName\").PrimaryList(\"Customers\").ForeignList(\"CustomerCities\")"));
        }
        public void test_THAT_neq_operation_with_bool_IS_converted_to_expression_correctly()
        {
            var op1  = new FieldRefOperand("Status");
            var op2  = new BooleanValueOperand(true);
            var op   = new NeqOperation(null, op1, op2);
            var expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("(Convert(x.get_Item(\"Status\")) != True)"));
        }
        public void test_THAT_neq_operation_with_int_IS_converted_to_expression_correctly(int value, string result)
        {
            var op1  = new FieldRefOperand("Status");
            var op2  = new IntegerValueOperand(value);
            var op   = new NeqOperation(null, op1, op2);
            var expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo(result));
        }
示例#7
0
        public void test_THAT_geq_operation_with_int_IS_converted_to_expression_correctly()
        {
            var        op1  = new FieldRefOperand("Count");
            var        op2  = new IntegerValueOperand(1);
            var        op   = new GeqOperation(null, op1, op2);
            Expression expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("(Convert(x.get_Item(\"Count\")) >= 1)"));
        }
        public void test_THAT_contains_operation_IS_converted_to_expression_correctly()
        {
            var op1  = new FieldRefOperand("Title");
            var op2  = new TextValueOperand("foo");
            var op   = new ContainsOperation(null, op1, op2);
            var expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("Convert(x.get_Item(\"Title\")).Contains(\"foo\")"));
        }
示例#9
0
        public void test_THAT_geq_operation_with_double_IS_converted_to_expression_correctly(double value, string result)
        {
            var        op1  = new FieldRefOperand("Count");
            var        op2  = new NumberValueOperand(value);
            var        op   = new GeqOperation(null, op1, op2);
            Expression expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo(result));
        }
        public void test_THAT_array_operation_with_single_operands_with_ordering_IS_converted_to_expression_correctly()
        {
            var op1  = new FieldRefOperand("Status");
            var op11 = new FieldRefOperandWithOrdering(op1, new Camlex.Desc());
            var op   = new ArrayOperation(null, op11);
            var expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("(x.get_Item(\"Status\") As Desc)"));
        }
        public void test_THAT_array_operation_with_two_operands_IS_converted_to_expression_correctly()
        {
            var op1  = new FieldRefOperand("Status");
            var op2  = new FieldRefOperand("Title");
            var op   = new ArrayOperation(null, op1, op2);
            var expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("new [] {x.get_Item(\"Status\"), x.get_Item(\"Title\")}"));
        }
示例#12
0
        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\")))"));
        }
示例#13
0
        public void test_THAT_eq_operation_with_generic_string_based_operand_IS_converted_to_expression_correctly()
        {
            var        op1  = new FieldRefOperand("Title");
            var        op2  = new GenericStringBasedValueOperand(typeof(DataTypes.Text), "foo");
            var        op   = new EqOperation(null, op1, op2);
            Expression expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("(x.get_Item(\"Title\") == Convert(Convert(\"foo\")))"));
        }
        public void test_THAT_field_ref_operand_with_asc_IS_converted_to_expression_correctly()
        {
            var op      = new FieldRefOperand("Title");
            var opOrder = new FieldRefOperandWithOrdering(op, new Camlex.Asc());
            var expr    = opOrder.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("(x.get_Item(\"Title\") As Asc)"));
            // problem 1 - Asc is not accessible. Only Camlex.Asc can be used
            // problem 2 - As instead of as is used. It won't be compiled
        }
示例#15
0
        public void test_THAT_eq_operation_with_string_based_datetime_IS_converted_to_expression_correctly()
        {
            var op1 = new FieldRefOperand("Modified");

            var        op2  = new DateTimeValueOperand(Camlex.Now, false);
            var        op   = new EqOperation(null, op1, op2);
            Expression expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("(x.get_Item(\"Modified\") == Convert(Convert(Camlex.Now)))"));
        }
示例#16
0
        public void test_WHEN_attribute_contains_name_THEN_it_is_ignored()
        {
            var attr = new List <KeyValuePair <string, string> >();

            attr.Add(new KeyValuePair <string, string>("nAmE", "foo"));
            var    fr   = new FieldRefOperand("Title", attr);
            string caml = fr.ToCaml().ToString();

            Assert.That(caml, Is.EqualTo("<FieldRef Name=\"Title\" />"));
        }
示例#17
0
        public void test_THAT_field_ref_with_name_and_attributes_IS_rendered_to_caml_properly()
        {
            var attr = new List <KeyValuePair <string, string> >();

            attr.Add(new KeyValuePair <string, string>("LookupId", "True"));
            var    fr   = new FieldRefOperand("Title", attr);
            string caml = fr.ToCaml().ToString();

            Assert.That(caml, Is.EqualTo("<FieldRef Name=\"Title\" LookupId=\"True\" />"));
        }
示例#18
0
        public void test_WHEN_attribute_contains_id_THEN_it_is_ignored()
        {
            var guid = new Guid("4feaf1f3-5b04-4d93-b0fc-4e48d0c60eed");
            var attr = new List <KeyValuePair <string, string> >();

            attr.Add(new KeyValuePair <string, string>("id", "foo"));
            var    fr   = new FieldRefOperand(guid, attr);
            string caml = fr.ToCaml().ToString();

            Assert.That(caml, Is.EqualTo("<FieldRef ID=\"4feaf1f3-5b04-4d93-b0fc-4e48d0c60eed\" />"));
        }
示例#19
0
        public void test_THAT_field_ref_with_guid_and_attributes_IS_rendered_to_caml_properly()
        {
            var guid = new Guid("4feaf1f3-5b04-4d93-b0fc-4e48d0c60eed");
            var attr = new List <KeyValuePair <string, string> >();

            attr.Add(new KeyValuePair <string, string>("LookupId", "True"));
            var    fr   = new FieldRefOperand(guid, attr);
            string caml = fr.ToCaml().ToString();

            Assert.That(caml, Is.EqualTo("<FieldRef ID=\"4feaf1f3-5b04-4d93-b0fc-4e48d0c60eed\" LookupId=\"True\" />"));
        }
示例#20
0
        public void test_THAT_eq_operation_with_native_datetime_IS_converted_to_expression_correctly()
        {
            var op1 = new FieldRefOperand("Modified");

            var        dt   = new DateTime(2011, 4, 25, 19, 7, 00, 00);
            var        op2  = new DateTimeValueOperand(dt, false);
            var        op   = new EqOperation(null, op1, op2);
            Expression expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo(string.Format("(Convert(x.get_Item(\"Modified\")) == {0})", dt)));
        }
示例#21
0
        public void test_WHEN_different_types_are_provided_THEN_exception_is_thrown()
        {
            var fieldRef = new FieldRefOperand("test");

            var values = new List <IOperand>();

            values.Add(new IntegerValueOperand(1));
            values.Add(new TextValueOperand("2"));
            var valuesOperand = new ValuesValueOperand(values);
            var operation     = new InOperation(null, fieldRef, valuesOperand);
            var expr          = operation.ToExpression();
        }
        public void test_THAT_includes_operation_with_lookup_id_IS_converted_to_expression_correctly()
        {
            var attr = new List <KeyValuePair <string, string> >();

            attr.Add(new KeyValuePair <string, string>(Attributes.LookupId, "True"));
            var        op1  = new FieldRefOperand("Count", attr);
            var        op2  = new IntegerValueOperand(1);
            var        op   = new IncludesOperation(null, op1, op2);
            Expression expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("Convert(Convert(x.get_Item(\"Count\"))).Includes(Convert(1), True)"));
        }
        public void test_THAT_membership_operation_with_spwebusers_IS_converted_to_expression_correctly()
        {
            var op1      = new FieldRefOperand("Field");
            var mt       = new Camlex.SPWebUsers();
            var typeName = mt.GetType().Name;
            var op       = new MembershipOpeartion(null, op1, mt);

            var expr = op.ToExpression();

            Assert.That(expr.ToString(),
                        Is.EqualTo(string.Format("Membership(x.get_Item(\"Field\"), new {0}())", typeName)));
        }
        public void test_THAT_date_ranges_overlap_operation_with_string_based_date_time_IS_converted_to_expression_correctly()
        {
            var op1 = new FieldRefOperand("StartField");
            var op2 = new FieldRefOperand("StopField");
            var op3 = new FieldRefOperand("RecurrenceID");
            var op4 = new DateTimeValueOperand(Camlex.Now, false);
            var op  = new DateRangesOverlapOperation(null, op1, op2, op3, op4);

            var expr = op.ToExpression();

            Assert.That(expr.ToString(),
                        Is.EqualTo("DateRangesOverlap(x.get_Item(\"StartField\"), x.get_Item(\"StopField\"), x.get_Item(\"RecurrenceID\"), Convert(Convert(Camlex.Now)))"));
        }
        public void test_THAT_date_ranges_overlap_operation_with_native_date_time_IS_converted_to_expression_correctly()
        {
            var op1 = new FieldRefOperand("StartField");
            var op2 = new FieldRefOperand("StopField");
            var op3 = new FieldRefOperand("RecurrenceID");
            var dt  = new DateTime(2011, 5, 7, 21, 30, 00);
            var op4 = new DateTimeValueOperand(dt, false);
            var op  = new DateRangesOverlapOperation(null, op1, op2, op3, op4);

            var expr = op.ToExpression();

            Assert.That(expr.ToString(),
                        Is.EqualTo(string.Format("DateRangesOverlap(x.get_Item(\"StartField\"), x.get_Item(\"StopField\"), x.get_Item(\"RecurrenceID\"), {0})", dt)));
        }
示例#26
0
        public void test_THAT_in_operation_IS_transformed_to_expression_properly()
        {
            var fieldRef = new FieldRefOperand("test");

            var values = new List <IOperand>();

            values.Add(new IntegerValueOperand(1));
            values.Add(new IntegerValueOperand(2));
            values.Add(new IntegerValueOperand(3));
            var valuesOperand = new ValuesValueOperand(values);
            var operation     = new InOperation(null, fieldRef, valuesOperand);
            var expr          = operation.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("new [] {1, 2, 3}.Contains(Convert(x.get_Item(\"test\")))"));
        }
示例#27
0
        public void test_THAT_or_else_operation_IS_converted_to_expression_correctly()
        {
            var op11 = new FieldRefOperand("Status");
            var op12 = new BooleanValueOperand(true);
            var op1  = new EqOperation(null, op11, op12);

            var op21 = new FieldRefOperand("Status");
            var op22 = new BooleanValueOperand(false);
            var op2  = new EqOperation(null, op21, op22);

            var op = new OrElseOperation(null, op1, op2);

            var expr = op.ToExpression();

            Assert.That(expr.ToString(), Is.EqualTo("(Convert(x.get_Item(\"Status\")) OrElse Not(Convert(x.get_Item(\"Status\"))))"));
        }
示例#28
0
 public void test_WHEN_both_name_and_id_are_empty_THEN_exception_is_thrown_in_contructor()
 {
     var fr      = new FieldRefOperand("");
     var frOrder = new FieldRefOperandWithOrdering(fr, new Camlex.Asc());
 }
示例#29
0
        public void test_WHEN_both_name_and_id_are_empty_THEN_exception_is_thrown_during_translation_to_caml()
        {
            var fr = new FieldRefOperand("");

            fr.ToCaml();
        }
        public void test_WHEN_both_name_and_id_are_empty_THEN_exception_is_thrown_in_contructor()
        {
            var fr = new FieldRefOperand("");

            Assert.Throws <FieldRefOperandShouldContainNameOrIdException>(() => new FieldRefOperandWithOrdering(fr, new Camlex.Asc()));
        }