tmp = (List<String>) stack.pop(); k = (String) stack.pop(); stack.push(new Query.In(k, new TreeSet<>(tmp))); break; case ":lt":
@Test public void nestedInClauses() { Set<String> values = new TreeSet<>(); values.add("key"); values.add("("); values.add("a"); values.add("b"); values.add(")"); values.add(":in"); DataExpr expected = new DataExpr.Sum(new Query.In("key", values)); DataExpr actual = Parser.parseDataExpr("key,(,key,(,a,b,),:in,),:in,:sum"); Assertions.assertEquals(expected, actual); }
@Test public void multiNestedInClauses() { Set<String> values = new TreeSet<>( Arrays.asList("key,(,a,(,b,(,c,),),(,),),:in".split(","))); DataExpr expected = new DataExpr.Sum(new Query.In("key", values)); DataExpr actual = Parser.parseDataExpr("key,(,key,(,a,(,b,(,c,),),(,),),:in,),:in,:sum"); Assertions.assertEquals(expected, actual); }