diff --git a/src/main/java/g0601_0700/s0620_not_boring_movies/script.sql b/src/main/java/g0601_0700/s0620_not_boring_movies/script.sql index e8e32d424..07498b6ce 100644 --- a/src/main/java/g0601_0700/s0620_not_boring_movies/script.sql +++ b/src/main/java/g0601_0700/s0620_not_boring_movies/script.sql @@ -2,6 +2,6 @@ # #Easy #Database #2022_03_21_Time_258_ms_(28.33%)_Space_0B_(100.00%) SELECT * FROM cinema -WHERE description != "boring" +WHERE description != 'boring' AND ID % 2 = 1 ORDER BY rating desc; diff --git a/src/test/java/g0601_0700/s0620_not_boring_movies/MysqlTest.java b/src/test/java/g0601_0700/s0620_not_boring_movies/MysqlTest.java new file mode 100644 index 000000000..7dc5047d8 --- /dev/null +++ b/src/test/java/g0601_0700/s0620_not_boring_movies/MysqlTest.java @@ -0,0 +1,64 @@ +package g0601_0700.s0620_not_boring_movies; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.stream.Collectors; +import javax.sql.DataSource; +import org.junit.jupiter.api.Test; +import org.zapodot.junit.db.annotations.EmbeddedDatabase; +import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest; +import org.zapodot.junit.db.common.CompatibilityMode; + +@EmbeddedDatabaseTest( + compatibilityMode = CompatibilityMode.MySQL, + initialSqls = + "CREATE TABLE cinema(id INTEGER PRIMARY KEY, movie VARCHAR(512)" + + ", description VARCHAR(512), rating FLOAT); " + + "INSERT INTO cinema(id, movie, description, rating) " + + "VALUES (1, 'War', 'great 3D', 8.9); " + + "INSERT INTO cinema(id, movie, description, rating) " + + "VALUES (2, 'Science', 'fiction', 8.5); " + + "INSERT INTO cinema(id, movie, description, rating) " + + "VALUES (3, 'irish', 'boring', 6.2); " + + "INSERT INTO cinema(id, movie, description, rating) " + + "VALUES (4, 'Ice song', 'Fantacy', 8.6);" + + "INSERT INTO cinema(id, movie, description, rating) " + + "VALUES (5, 'House card', 'Interesting', 9.1);") +class MysqlTest { + @Test + void testScript(@EmbeddedDatabase DataSource dataSource) + throws SQLException, FileNotFoundException { + try (final Connection connection = dataSource.getConnection()) { + try (final Statement statement = connection.createStatement(); + final ResultSet resultSet = + statement.executeQuery( + new BufferedReader( + new FileReader( + "src/main/java/g0601_0700/" + + "s0620_not_boring_movies/script.sql")) + .lines() + .collect(Collectors.joining("\n")) + .replaceAll("#.*?\\r?\\n", ""))) { + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getInt(1), equalTo(5)); + assertThat(resultSet.getNString(2), equalTo("House card")); + assertThat(resultSet.getNString(3), equalTo("Interesting")); + assertThat(resultSet.getNString(4), equalTo("9.1")); + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getInt(1), equalTo(1)); + assertThat(resultSet.getNString(2), equalTo("War")); + assertThat(resultSet.getNString(3), equalTo("great 3D")); + assertThat(resultSet.getNString(4), equalTo("8.9")); + assertThat(resultSet.next(), equalTo(false)); + } + } + } +} diff --git a/src/test/java/g0601_0700/s0626_exchange_seats/MysqlTest.java b/src/test/java/g0601_0700/s0626_exchange_seats/MysqlTest.java new file mode 100644 index 000000000..97fa09c57 --- /dev/null +++ b/src/test/java/g0601_0700/s0626_exchange_seats/MysqlTest.java @@ -0,0 +1,68 @@ +package g0601_0700.s0626_exchange_seats; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.stream.Collectors; +import javax.sql.DataSource; +import org.junit.jupiter.api.Test; +import org.zapodot.junit.db.annotations.EmbeddedDatabase; +import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest; +import org.zapodot.junit.db.common.CompatibilityMode; + +@EmbeddedDatabaseTest( + compatibilityMode = CompatibilityMode.MySQL, + initialSqls = + "CREATE TABLE seat(id INTEGER PRIMARY KEY, student VARCHAR(512));" + + "INSERT INTO seat(id, student) " + + "VALUES (1, 'Abbot'); " + + "INSERT INTO seat(id, student) " + + "VALUES (2, 'Doris'); " + + "INSERT INTO seat(id, student) " + + "VALUES (3, 'Emerson'); " + + "INSERT INTO seat(id, student) " + + "VALUES (4, 'Green'); " + + "INSERT INTO seat(id, student) " + + "VALUES (5, 'Jeames'); ") +class MysqlTest { + @Test + void testScript(@EmbeddedDatabase DataSource dataSource) + throws SQLException, FileNotFoundException { + try (final Connection connection = dataSource.getConnection()) { + try (final Statement statement = connection.createStatement(); + final ResultSet resultSet = + statement.executeQuery( + new BufferedReader( + new FileReader( + "src/main/java/g0601_0700/" + + "s0626_exchange_seats/script.sql")) + .lines() + .collect(Collectors.joining("\n")) + .replaceAll("#.*?\\r?\\n", ""))) { + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getInt(1), equalTo(1)); + assertThat(resultSet.getNString(2), equalTo("Doris")); + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getInt(1), equalTo(2)); + assertThat(resultSet.getNString(2), equalTo("Abbot")); + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getInt(1), equalTo(3)); + assertThat(resultSet.getNString(2), equalTo("Green")); + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getInt(1), equalTo(4)); + assertThat(resultSet.getNString(2), equalTo("Emerson")); + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getInt(1), equalTo(5)); + assertThat(resultSet.getNString(2), equalTo("Jeames")); + assertThat(resultSet.next(), equalTo(false)); + } + } + } +} diff --git a/src/test/java/g1001_1100/s1050_actors_and_directors_who_cooperated_at_least_three_times/MysqlTest.java b/src/test/java/g1001_1100/s1050_actors_and_directors_who_cooperated_at_least_three_times/MysqlTest.java new file mode 100644 index 000000000..666072882 --- /dev/null +++ b/src/test/java/g1001_1100/s1050_actors_and_directors_who_cooperated_at_least_three_times/MysqlTest.java @@ -0,0 +1,61 @@ +package g1001_1100.s1050_actors_and_directors_who_cooperated_at_least_three_times; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.stream.Collectors; +import javax.sql.DataSource; +import org.junit.jupiter.api.Test; +import org.zapodot.junit.db.annotations.EmbeddedDatabase; +import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest; +import org.zapodot.junit.db.common.CompatibilityMode; + +@EmbeddedDatabaseTest( + compatibilityMode = CompatibilityMode.MySQL, + initialSqls = + "CREATE TABLE ACTORDIRECTOR(actor_id INTEGER, director_id INTEGER, timestamp INTEGER PRIMARY KEY); " + + "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) " + + "VALUES (1, 1,0); " + + "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) " + + "VALUES (1, 1,1); " + + "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) " + + "VALUES (1, 1,2); " + + "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) " + + "VALUES (1, 2,3); " + + "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) " + + "VALUES (1, 2,4); " + + "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) " + + "VALUES (1, 1,5); " + + "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) " + + "VALUES (2, 1,6); ") +class MysqlTest { + @Test + void testScript(@EmbeddedDatabase DataSource dataSource) + throws SQLException, FileNotFoundException { + try (final Connection connection = dataSource.getConnection()) { + try (final Statement statement = connection.createStatement(); + final ResultSet resultSet = + statement.executeQuery( + new BufferedReader( + new FileReader( + "src/main/java/g1001_1100/s1050_actors" + + "_and_directors_who_cooperated_at_least" + + "_three_times/script.sql")) + .lines() + .collect(Collectors.joining("\n")) + .replaceAll("#.*?\\r?\\n", ""))) { + assertThat(resultSet.next(), equalTo(true)); + assertThat(resultSet.getNString(1), equalTo("1")); + assertThat(resultSet.getNString(2), equalTo("1")); + assertThat(resultSet.next(), equalTo(false)); + } + } + } +}

AltStyle によって変換されたページ (->オリジナル) /