### Question:
PlaceholderQuery { public ArgumentBuilder newArgs() { return new ArgumentBuilder(query, placeholders); } PlaceholderQuery(String query); String getSql(); ArgumentBuilder newArgs(); @Override String toString();  }### Answer:
@Test public void testPlaceholderQueryArguments() { Query args = query.newArgs().set("value3", 3).set("@value1", 1).set("Value2", 2).create(); assertEquals(4, args.getArgs().length); assertEquals(Arrays.asList(1, 2, 3, 2), Arrays.asList(args.getArgs())); }
@Test(expected = IllegalArgumentException.class) public void testAddInvalidKey() { query.newArgs().set("value4", 4); }
@Test(expected = IllegalStateException.class) public void testUnsetParameters() { query.newArgs().set("value1", 1).create(); }