Skip to content

Commit c31d581

Browse files
authored
Added tests for tasks 620, 626, 1050.
1 parent da92491 commit c31d581

File tree

4 files changed

+194
-1
lines changed

4 files changed

+194
-1
lines changed

src/main/java/g0601_0700/s0620_not_boring_movies/script.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
# #Easy #Database #2022_03_21_Time_258_ms_(28.33%)_Space_0B_(100.00%)
33
SELECT *
44
FROM cinema
5-
WHERE description != "boring"
5+
WHERE description != 'boring'
66
AND ID % 2 = 1
77
ORDER BY rating desc;
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package g0601_0700.s0620_not_boring_movies;
2+
3+
import static org.hamcrest.CoreMatchers.equalTo;
4+
import static org.hamcrest.MatcherAssert.assertThat;
5+
6+
import java.io.BufferedReader;
7+
import java.io.FileNotFoundException;
8+
import java.io.FileReader;
9+
import java.sql.Connection;
10+
import java.sql.ResultSet;
11+
import java.sql.SQLException;
12+
import java.sql.Statement;
13+
import java.util.stream.Collectors;
14+
import javax.sql.DataSource;
15+
import org.junit.jupiter.api.Test;
16+
import org.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
18+
import org.zapodot.junit.db.common.CompatibilityMode;
19+
20+
@EmbeddedDatabaseTest(
21+
compatibilityMode = CompatibilityMode.MySQL,
22+
initialSqls =
23+
"CREATE TABLE cinema(id INTEGER PRIMARY KEY, movie VARCHAR(512)"
24+
+ ", description VARCHAR(512), rating FLOAT); "
25+
+ "INSERT INTO cinema(id, movie, description, rating) "
26+
+ "VALUES (1, 'War', 'great 3D', 8.9); "
27+
+ "INSERT INTO cinema(id, movie, description, rating) "
28+
+ "VALUES (2, 'Science', 'fiction', 8.5); "
29+
+ "INSERT INTO cinema(id, movie, description, rating) "
30+
+ "VALUES (3, 'irish', 'boring', 6.2); "
31+
+ "INSERT INTO cinema(id, movie, description, rating) "
32+
+ "VALUES (4, 'Ice song', 'Fantacy', 8.6);"
33+
+ "INSERT INTO cinema(id, movie, description, rating) "
34+
+ "VALUES (5, 'House card', 'Interesting', 9.1);")
35+
class MysqlTest {
36+
@Test
37+
void testScript(@EmbeddedDatabase DataSource dataSource)
38+
throws SQLException, FileNotFoundException {
39+
try (final Connection connection = dataSource.getConnection()) {
40+
try (final Statement statement = connection.createStatement();
41+
final ResultSet resultSet =
42+
statement.executeQuery(
43+
new BufferedReader(
44+
new FileReader(
45+
"src/main/java/g0601_0700/"
46+
+ "s0620_not_boring_movies/script.sql"))
47+
.lines()
48+
.collect(Collectors.joining("\n"))
49+
.replaceAll("#.*?\\r?\\n", ""))) {
50+
assertThat(resultSet.next(), equalTo(true));
51+
assertThat(resultSet.getInt(1), equalTo(5));
52+
assertThat(resultSet.getNString(2), equalTo("House card"));
53+
assertThat(resultSet.getNString(3), equalTo("Interesting"));
54+
assertThat(resultSet.getNString(4), equalTo("9.1"));
55+
assertThat(resultSet.next(), equalTo(true));
56+
assertThat(resultSet.getInt(1), equalTo(1));
57+
assertThat(resultSet.getNString(2), equalTo("War"));
58+
assertThat(resultSet.getNString(3), equalTo("great 3D"));
59+
assertThat(resultSet.getNString(4), equalTo("8.9"));
60+
assertThat(resultSet.next(), equalTo(false));
61+
}
62+
}
63+
}
64+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package g0601_0700.s0626_exchange_seats;
2+
3+
import static org.hamcrest.CoreMatchers.equalTo;
4+
import static org.hamcrest.MatcherAssert.assertThat;
5+
6+
import java.io.BufferedReader;
7+
import java.io.FileNotFoundException;
8+
import java.io.FileReader;
9+
import java.sql.Connection;
10+
import java.sql.ResultSet;
11+
import java.sql.SQLException;
12+
import java.sql.Statement;
13+
import java.util.stream.Collectors;
14+
import javax.sql.DataSource;
15+
import org.junit.jupiter.api.Test;
16+
import org.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
18+
import org.zapodot.junit.db.common.CompatibilityMode;
19+
20+
@EmbeddedDatabaseTest(
21+
compatibilityMode = CompatibilityMode.MySQL,
22+
initialSqls =
23+
"CREATE TABLE seat(id INTEGER PRIMARY KEY, student VARCHAR(512));"
24+
+ "INSERT INTO seat(id, student) "
25+
+ "VALUES (1, 'Abbot'); "
26+
+ "INSERT INTO seat(id, student) "
27+
+ "VALUES (2, 'Doris'); "
28+
+ "INSERT INTO seat(id, student) "
29+
+ "VALUES (3, 'Emerson'); "
30+
+ "INSERT INTO seat(id, student) "
31+
+ "VALUES (4, 'Green'); "
32+
+ "INSERT INTO seat(id, student) "
33+
+ "VALUES (5, 'Jeames'); ")
34+
class MysqlTest {
35+
@Test
36+
void testScript(@EmbeddedDatabase DataSource dataSource)
37+
throws SQLException, FileNotFoundException {
38+
try (final Connection connection = dataSource.getConnection()) {
39+
try (final Statement statement = connection.createStatement();
40+
final ResultSet resultSet =
41+
statement.executeQuery(
42+
new BufferedReader(
43+
new FileReader(
44+
"src/main/java/g0601_0700/"
45+
+ "s0626_exchange_seats/script.sql"))
46+
.lines()
47+
.collect(Collectors.joining("\n"))
48+
.replaceAll("#.*?\\r?\\n", ""))) {
49+
assertThat(resultSet.next(), equalTo(true));
50+
assertThat(resultSet.getInt(1), equalTo(1));
51+
assertThat(resultSet.getNString(2), equalTo("Doris"));
52+
assertThat(resultSet.next(), equalTo(true));
53+
assertThat(resultSet.getInt(1), equalTo(2));
54+
assertThat(resultSet.getNString(2), equalTo("Abbot"));
55+
assertThat(resultSet.next(), equalTo(true));
56+
assertThat(resultSet.getInt(1), equalTo(3));
57+
assertThat(resultSet.getNString(2), equalTo("Green"));
58+
assertThat(resultSet.next(), equalTo(true));
59+
assertThat(resultSet.getInt(1), equalTo(4));
60+
assertThat(resultSet.getNString(2), equalTo("Emerson"));
61+
assertThat(resultSet.next(), equalTo(true));
62+
assertThat(resultSet.getInt(1), equalTo(5));
63+
assertThat(resultSet.getNString(2), equalTo("Jeames"));
64+
assertThat(resultSet.next(), equalTo(false));
65+
}
66+
}
67+
}
68+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package g1001_1100.s1050_actors_and_directors_who_cooperated_at_least_three_times;
2+
3+
import static org.hamcrest.CoreMatchers.equalTo;
4+
import static org.hamcrest.MatcherAssert.assertThat;
5+
6+
import java.io.BufferedReader;
7+
import java.io.FileNotFoundException;
8+
import java.io.FileReader;
9+
import java.sql.Connection;
10+
import java.sql.ResultSet;
11+
import java.sql.SQLException;
12+
import java.sql.Statement;
13+
import java.util.stream.Collectors;
14+
import javax.sql.DataSource;
15+
import org.junit.jupiter.api.Test;
16+
import org.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
import org.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
18+
import org.zapodot.junit.db.common.CompatibilityMode;
19+
20+
@EmbeddedDatabaseTest(
21+
compatibilityMode = CompatibilityMode.MySQL,
22+
initialSqls =
23+
"CREATE TABLE ACTORDIRECTOR(actor_id INTEGER, director_id INTEGER, timestamp INTEGER PRIMARY KEY); "
24+
+ "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) "
25+
+ "VALUES (1, 1,0); "
26+
+ "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) "
27+
+ "VALUES (1, 1,1); "
28+
+ "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) "
29+
+ "VALUES (1, 1,2); "
30+
+ "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) "
31+
+ "VALUES (1, 2,3); "
32+
+ "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) "
33+
+ "VALUES (1, 2,4); "
34+
+ "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) "
35+
+ "VALUES (1, 1,5); "
36+
+ "INSERT INTO ACTORDIRECTOR(actor_id, director_id, timestamp) "
37+
+ "VALUES (2, 1,6); ")
38+
class MysqlTest {
39+
@Test
40+
void testScript(@EmbeddedDatabase DataSource dataSource)
41+
throws SQLException, FileNotFoundException {
42+
try (final Connection connection = dataSource.getConnection()) {
43+
try (final Statement statement = connection.createStatement();
44+
final ResultSet resultSet =
45+
statement.executeQuery(
46+
new BufferedReader(
47+
new FileReader(
48+
"src/main/java/g1001_1100/s1050_actors"
49+
+ "_and_directors_who_cooperated_at_least"
50+
+ "_three_times/script.sql"))
51+
.lines()
52+
.collect(Collectors.joining("\n"))
53+
.replaceAll("#.*?\\r?\\n", ""))) {
54+
assertThat(resultSet.next(), equalTo(true));
55+
assertThat(resultSet.getNString(1), equalTo("1"));
56+
assertThat(resultSet.getNString(2), equalTo("1"));
57+
assertThat(resultSet.next(), equalTo(false));
58+
}
59+
}
60+
}
61+
}

0 commit comments

Comments
 (0)