public void test_processSimpleFunction_nested_nested() throws Exception { // ## Arrange ## DerivedReferrerOption option = new DerivedReferrerOption(); option.acceptParameterKey("key", "path"); String sqbegin = SubQueryIndentProcessor.BEGIN_MARK_PREFIX; String sqend = SubQueryIndentProcessor.END_MARK_PREFIX; String identity = "identity"; StringBuilder sb = new StringBuilder(); sb.append("max(").append(sqbegin).append(identity); sb.append(ln()).append("select max(").append(sqbegin).append(identity); sb.append(ln()).append("select max(foo.COL)"); sb.append(ln()).append(" from FOO foo"); sb.append(ln()).append(")").append(sqend).append(identity); sb.append(ln()).append(" from FOO foo"); sb.append(ln()).append(")").append(sqend).append(identity); // ## Act ## String actual = option.processSimpleFunction(sb.toString(), "func", null, false, "param0"); // ## Assert ## log(ln() + actual); assertTrue(Srl.startsWith(actual, "func(max(" + sqbegin + identity)); assertTrue(Srl.contains(actual, "select max(foo.COL)")); assertTrue(Srl.contains(actual, " from FOO foo")); assertEquals(2, Srl.count(actual, "max(" + sqbegin + identity)); assertEquals(1, Srl.count(actual, "func(max(" + sqbegin + identity)); assertEquals(2, Srl.count(actual, ")" + sqend + identity)); assertEquals(1, Srl.count(actual, "/*pmb.path.key.bindMap.param0*/null)" + sqend + identity)); assertTrue(Srl.endsWith(actual, ", /*pmb.path.key.bindMap.param0*/null)" + sqend + identity)); }
public void test_processSimpleFunction_leftArg() throws Exception { // ## Arrange ## DerivedReferrerOption option = new DerivedReferrerOption(); option.acceptParameterKey("key", "path"); // ## Act ## String actual = option.processSimpleFunction("max(foo.COL)", "func", "third", true, "param0"); // ## Assert ## log(actual); assertTrue( Srl.contains(actual, "func(/*pmb.path.key.bindMap.param0*/null, max(foo.COL), third)")); }