@Test
void testPrepareStatement() throws Exception {

    Assertions.assertTrue(connection.prepareStatement("foo") != null);
    verify(delegate).prepareStatement("foo");
    Assertions.assertTrue(connection.prepareStatement("foo", 2) != null);
    verify(delegate).prepareStatement("foo", 2);
    Assertions.assertTrue(connection.prepareStatement("foo", new int[] {2, 3}) != null);
    verify(delegate).prepareStatement("foo", new int[]{2, 3});
    Assertions.assertTrue(connection.prepareStatement("foo", new String[] {"bar", "baz"}) != null);
    verify(delegate).prepareStatement("foo", new String[]{"bar", "baz"});
    Assertions.assertTrue(connection.prepareStatement("foo", 2, 3) != null);
    verify(delegate).prepareStatement("foo", 2, 3);
    Assertions.assertTrue(connection.prepareStatement("foo", 2, 3, 4) != null);
    verify(delegate).prepareStatement("foo", 2, 3, 4);
}