public void test_THAT_orelse_with_nested_orelse_IS_translated_to_caml_properly() { // arrange var leftEqOperation = MockRepository.GenerateStub <EqOperation>(null, null, null); var rightEqOperation = MockRepository.GenerateStub <EqOperation>(null, null, null); var resultBuilder = new OperationResultBuilder(); var leftOperation = new OrElseOperation(resultBuilder, leftEqOperation, rightEqOperation); leftEqOperation.Stub(o => o.ToResult()).Return(xelementResult("Eq1")); rightEqOperation.Stub(o => o.ToResult()).Return(xelementResult("Eq2")); var operation = new OrElseOperation(resultBuilder, leftOperation, rightEqOperation); // act string caml = operation.ToResult().ToString(); // assert string expected = @"<Or> <Or> <Eq1 /> <Eq2 /> </Or> <Eq2 /> </Or>"; Assert.That(caml, Is.EqualTo(expected).Using(new CamlComparer())); }
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\"))))")); }