@@ -1522,6 +1522,43 @@ private class SOQL_Test {
15221522 Assert .areEqual (' Krakow' , binding .get (' v3' ));
15231523 }
15241524
1525+ @IsTest
1526+ static void multipleFiltersGroups () {
1527+ // Test
1528+ SOQL builder = SOQL .of (Account .SObjectType )
1529+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 1' )))
1530+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 2' )))
1531+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 3' )))
1532+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 4' )))
1533+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 5' )))
1534+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 6' )))
1535+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 7' )))
1536+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 8' )))
1537+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 9' )))
1538+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 10' )))
1539+ .whereAre (SOQL .FilterGroup .add (SOQL .Filter .with (Account .Name ).contains (' 11' )));
1540+
1541+ // Verify
1542+ String soql = builder .toString ();
1543+ Assert .areEqual (
1544+ ' SELECT Id FROM Account WHERE (Name LIKE :v1) AND (Name LIKE :v2) AND (Name LIKE :v3) AND (Name LIKE :v4) AND (Name LIKE :v5) AND (Name LIKE :v6) AND (Name LIKE :v7) AND (Name LIKE :v8) AND (Name LIKE :v9) AND (Name LIKE :v10) AND (Name LIKE :v11)' ,
1545+ soql
1546+ );
1547+
1548+ Map <String , Object > binding = builder .binding ();
1549+ Assert .areEqual (' %1%' , binding .get (' v1' ));
1550+ Assert .areEqual (' %2%' , binding .get (' v2' ));
1551+ Assert .areEqual (' %3%' , binding .get (' v3' ));
1552+ Assert .areEqual (' %4%' , binding .get (' v4' ));
1553+ Assert .areEqual (' %5%' , binding .get (' v5' ));
1554+ Assert .areEqual (' %6%' , binding .get (' v6' ));
1555+ Assert .areEqual (' %7%' , binding .get (' v7' ));
1556+ Assert .areEqual (' %8%' , binding .get (' v8' ));
1557+ Assert .areEqual (' %9%' , binding .get (' v9' ));
1558+ Assert .areEqual (' %10%' , binding .get (' v10' ));
1559+ Assert .areEqual (' %11%' , binding .get (' v11' ));
1560+ }
1561+
15251562 @IsTest
15261563 static void anyConditionMatchingForInnerGroup () {
15271564 // Test
0 commit comments