### Question:
Script extends SqlStatement<Script> { public int[] execute() { final List<String> statements = getStatements(); Batch b = handle.createBatch(); statements.forEach(b::add); return b.execute(); } Script(Handle h, String sql); int[] execute(); void executeAsSeparateStatements(); List<String> getStatements();  }### Answer:
@Test public void testScriptStuff() { Handle h = dbRule.openHandle(); Script s = h.createScript(findSqlOnClasspath("default-data")); s.execute(); assertThat(h.select("select * from something").mapToMap()).hasSize(2); }
@Test public void testScriptWithComments() { Handle h = dbRule.openHandle(); Script script = h.createScript(getResourceOnClasspath("script/insert-script-with-comments.sql")); script.execute(); assertThat(h.select("select * from something").mapToMap()).hasSize(3); }
@Test public void testScriptWithStringSemicolon() { Handle h = dbRule.openHandle(); Script script = h.createScript(getResourceOnClasspath("script/insert-with-string-semicolons.sql")); script.execute(); assertThat(h.select("select * from something").mapToMap()).hasSize(3); }
@Test public void testPostgresJsonExtractTextOperator() { Handle h = postgresDbRule.getJdbi().open(); Script script = h.createScript(getResourceOnClasspath("script/postgres-json-operator.sql")); script.execute(); assertThat(h.select("select * from something").mapToMap()).hasSize(1); }