@Test public void testParseParams() throws Exception { GenericSqlParser parser = new GenericSqlParser(); Driver driver = new GenericJdbcDriver(); Map<String, List<Integer>> paramMap = new HashMap<String, List<Integer>>(); parser.parseParams( "select * from abc /* xx = :abc*/ where xyz = :xyz and abc = :abc and mmm = :xyz", null, paramMap, null, driver); assertTrue(paramMap.size() == 2); assertTrue(paramMap.containsKey("xyz")); assertTrue(paramMap.get("xyz").size() == 2); assertTrue(paramMap.get("xyz").get(0) == 1); assertTrue(paramMap.get("xyz").get(1) == 3); assertTrue(paramMap.containsKey("abc")); paramMap = new HashMap<String, List<Integer>>(); List<String> outputParams = new ArrayList<String>(); parser.parseParams( "begin abc = :abc; :out_integer_xyz = :mmm; end", null, paramMap, outputParams, driver); assertTrue(outputParams.size() == 1); assertTrue("out_integer_xyz".equals(outputParams.get(0))); }