@Test
public void testParseWithLambdaAnyContainsOnCollectionField()
	throws ExpressionVisitException {

	Expression expression = _filterParserImpl.parse(
		"collectionFieldExternal/any(f:contains(f,'alu'))");
	Assert.assertNotNull(expression);
	MemberExpression memberExpression = (MemberExpression)expression;
	CollectionPropertyExpression collectionPropertyExpression =
		(CollectionPropertyExpression)memberExpression.getExpression();
	Assert.assertEquals(
		"collectionFieldExternal", collectionPropertyExpression.getName());
	LambdaFunctionExpression lambdaFunctionExpression =
		collectionPropertyExpression.getLambdaFunctionExpression();
	Assert.assertEquals(
		LambdaFunctionExpression.Type.ANY,
		lambdaFunctionExpression.getType());
	Assert.assertEquals("f", lambdaFunctionExpression.getVariableName());
	MethodExpression methodExpression =
		(MethodExpression)lambdaFunctionExpression.getExpression();
	Assert.assertEquals(
		MethodExpression.Type.CONTAINS, methodExpression.getType());
	List<Expression> methodExpressionExpressions =
		methodExpression.getExpressions();
	Assert.assertNotNull(methodExpressionExpressions);
	Assert.assertEquals(
		methodExpressionExpressions.toString(), 2,
		methodExpressionExpressions.size());
	MemberExpression methodExpressionMemberExpression =
		(MemberExpression)methodExpressionExpressions.get(0);
	LambdaVariableExpression lambdaVariableExpression =
		(LambdaVariableExpression)
			methodExpressionMemberExpression.getExpression();
	Assert.assertNotNull(lambdaVariableExpression);
	Assert.assertEquals("f", lambdaVariableExpression.getVariableName());
	LiteralExpression literalExpression =
		(LiteralExpression)methodExpressionExpressions.get(1);
	Assert.assertNotNull(literalExpression);
	Assert.assertEquals("'alu'", literalExpression.getText());
	Assert.assertEquals(
		LiteralExpression.Type.STRING, literalExpression.getType());
}