diff --git a/src/main/java/org/nkjmlab/sorm4j/util/Try.java b/src/main/java/org/nkjmlab/sorm4j/util/Try.java index 4737664f..896b2e29 100644 --- a/src/main/java/org/nkjmlab/sorm4j/util/Try.java +++ b/src/main/java/org/nkjmlab/sorm4j/util/Try.java @@ -142,7 +142,7 @@ public static void runOrThrow(ThrowableRunnable Function ex) throws X { createRunnable(onTry, e -> { throw ex.apply(e); - }).run();; + }).run(); } diff --git a/src/test/java/org/nkjmlab/sorm4j/TypedOrmConnectionTest.java b/src/test/java/org/nkjmlab/sorm4j/TypedOrmConnectionTest.java index e23237b3..f00e8d6d 100644 --- a/src/test/java/org/nkjmlab/sorm4j/TypedOrmConnectionTest.java +++ b/src/test/java/org/nkjmlab/sorm4j/TypedOrmConnectionTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.fail; import java.sql.Connection; import java.sql.SQLException; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -400,6 +401,27 @@ void testReadAllLazy() { assertThat(map.get("NAME") != null ? map.get("NAME") : map.get("name")) .isEqualTo(a.getName()); }); + + sorm.run(Player.class, m -> { + Map map = + m.readMapLazy("select * from players").stream().collect(Collectors.toList()).get(0); + assertThat(map.get("NAME") != null ? map.get("NAME") : map.get("name")) + .isEqualTo(a.getName()); + }); + + sorm.run(Player.class, m -> { + LazyResultSet r = m.readLazy("select * from players"); + Iterator it = r.iterator(); + r.close(); + try { + it.hasNext(); + failBecauseExceptionWasNotThrown(Exception.class); + } catch (Exception e) { + assertThat(e.getMessage()).contains("already closed"); + } + }); + + sorm.run(Player.class, m -> { Map map = m.readMapList(SqlStatement.of("select * from players")).get(0); assertThat(map.get("NAME") != null ? map.get("NAME") : map.get("name")) diff --git a/src/test/java/org/nkjmlab/sorm4j/util/TryTest.java b/src/test/java/org/nkjmlab/sorm4j/util/TryTest.java index 17de6420..fa3db174 100644 --- a/src/test/java/org/nkjmlab/sorm4j/util/TryTest.java +++ b/src/test/java/org/nkjmlab/sorm4j/util/TryTest.java @@ -52,9 +52,25 @@ void testCreateConsumer() { } catch (Exception e) { assertThat(e.getMessage()).contains("try"); } + } + @Test + void testCreateBiConsumer() { + try { + Try.createBiConsumer((con1, con2) -> { + throw new RuntimeException("try"); + }, e -> { + }).accept("a", "b"); + } catch (Exception e) { + assertThat(e.getMessage()).contains("try"); + } + Try.createBiConsumer((con1, con2) -> { + }, e -> { + }).accept("a", "b"); } + + @Test void testCreateConsumerWithThrow() { try { @@ -64,6 +80,19 @@ void testCreateConsumerWithThrow() { } catch (Exception e) { assertThat(e.getMessage()).contains("try"); } + Try.createConsumerWithThrow(con -> { + }, OrmException::new).accept("a"); + } + + @Test + void testCreateBiConsumerWithThrow() { + try { + Try.createBiConsumerWithThrow((c1, c2) -> { + throw new RuntimeException("try"); + }, OrmException::new).accept("a", "b"); + } catch (Exception e) { + assertThat(e.getMessage()).contains("try"); + } } @Test @@ -106,6 +135,9 @@ void testGetOrThrow() { } catch (Exception e) { assertThat(e.getMessage()).contains("try"); } + Try.getOrThrow(() -> { + return null; + }, OrmException::new); } @Test @@ -117,6 +149,8 @@ void testRunOrThrow() { } catch (Exception e) { assertThat(e.getMessage()).contains("try"); } + Try.runOrThrow(() -> { + }, OrmException::new); } }