Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd8c00a3

Browse files
authored
Improved tasks 183, 184
1 parent8532f8c commitd8c00a3

File tree

2 files changed

+121
-0
lines changed

2 files changed

+121
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
packageg0101_0200.s0183_customers_who_never_order;
2+
3+
importstaticorg.hamcrest.CoreMatchers.equalTo;
4+
importstaticorg.hamcrest.MatcherAssert.assertThat;
5+
6+
importjava.io.BufferedReader;
7+
importjava.io.FileNotFoundException;
8+
importjava.io.FileReader;
9+
importjava.sql.Connection;
10+
importjava.sql.ResultSet;
11+
importjava.sql.SQLException;
12+
importjava.sql.Statement;
13+
importjava.util.stream.Collectors;
14+
importjavax.sql.DataSource;
15+
importorg.junit.jupiter.api.Test;
16+
importorg.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
importorg.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
18+
importorg.zapodot.junit.db.common.CompatibilityMode;
19+
importorg.zapodot.junit.db.common.Engine;
20+
21+
@EmbeddedDatabaseTest(
22+
engine =Engine.H2,
23+
compatibilityMode =CompatibilityMode.MySQL,
24+
initialSqls =
25+
"CREATE TABLE Customers(id INTEGER PRIMARY KEY, name VARCHAR); "
26+
+"INSERT INTO Customers(id, name) VALUES (1, 'Joe'); "
27+
+"INSERT INTO Customers(id, name) VALUES (2, 'Henry'); "
28+
+"INSERT INTO Customers(id, name) VALUES (3, 'Sam'); "
29+
+"INSERT INTO Customers(id, name) VALUES (4, 'Max'); "
30+
+"CREATE TABLE Orders(id INTEGER, customerId INTEGER); "
31+
+"INSERT INTO Orders(id, customerId) VALUES (1, 3); "
32+
+"INSERT INTO Orders(id, customerId) VALUES (2, 1); ")
33+
classMysqlTest {
34+
@Test
35+
voidtestScript(@EmbeddedDatabaseDataSourcedataSource)
36+
throwsSQLException,FileNotFoundException {
37+
try (finalConnectionconnection =dataSource.getConnection()) {
38+
try (finalStatementstatement =connection.createStatement();
39+
finalResultSetresultSet =
40+
statement.executeQuery(
41+
newBufferedReader(
42+
newFileReader(
43+
"src/main/java/g0101_0200/"
44+
+"s0183_customers_who_never_order/script.sql"))
45+
.lines()
46+
.collect(Collectors.joining("\n"))
47+
.replaceAll("#.*?\\r?\\n",""))) {
48+
assertThat(resultSet.next(),equalTo(true));
49+
assertThat(resultSet.getNString(1),equalTo("Henry"));
50+
assertThat(resultSet.next(),equalTo(true));
51+
assertThat(resultSet.getNString(1),equalTo("Max"));
52+
assertThat(resultSet.next(),equalTo(false));
53+
}
54+
}
55+
}
56+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
packageg0101_0200.s0184_department_highest_salary;
2+
3+
importstaticorg.hamcrest.CoreMatchers.equalTo;
4+
importstaticorg.hamcrest.MatcherAssert.assertThat;
5+
6+
importjava.io.BufferedReader;
7+
importjava.io.FileNotFoundException;
8+
importjava.io.FileReader;
9+
importjava.sql.Connection;
10+
importjava.sql.ResultSet;
11+
importjava.sql.SQLException;
12+
importjava.sql.Statement;
13+
importjava.util.stream.Collectors;
14+
importjavax.sql.DataSource;
15+
importorg.junit.jupiter.api.Test;
16+
importorg.zapodot.junit.db.annotations.EmbeddedDatabase;
17+
importorg.zapodot.junit.db.annotations.EmbeddedDatabaseTest;
18+
importorg.zapodot.junit.db.common.CompatibilityMode;
19+
importorg.zapodot.junit.db.common.Engine;
20+
21+
@EmbeddedDatabaseTest(
22+
engine =Engine.H2,
23+
compatibilityMode =CompatibilityMode.MySQL,
24+
initialSqls =
25+
"CREATE TABLE Employee(id INTEGER PRIMARY KEY, name VARCHAR, salary INTEGER, departmentId INTEGER); "
26+
+"INSERT INTO Employee(id, name, salary, departmentId) VALUES (1, 'Joe', 70000, 1); "
27+
+"INSERT INTO Employee(id, name, salary, departmentId) VALUES (2, 'Jim', 90000, 1); "
28+
+"INSERT INTO Employee(id, name, salary, departmentId) VALUES (3, 'Henry', 80000, 2); "
29+
+"INSERT INTO Employee(id, name, salary, departmentId) VALUES (4, 'Sam', 60000, 2); "
30+
+"INSERT INTO Employee(id, name, salary, departmentId) VALUES (5, 'Max', 90000, 1); "
31+
+"CREATE TABLE Department(id INTEGER, name VARCHAR); "
32+
+"INSERT INTO Department(id, name) VALUES (1, 'IT'); "
33+
+"INSERT INTO Department(id, name) VALUES (2, 'Sales'); ")
34+
classMysqlTest {
35+
@Test
36+
voidtestScript(@EmbeddedDatabaseDataSourcedataSource)
37+
throwsSQLException,FileNotFoundException {
38+
try (finalConnectionconnection =dataSource.getConnection()) {
39+
try (finalStatementstatement =connection.createStatement();
40+
finalResultSetresultSet =
41+
statement.executeQuery(
42+
newBufferedReader(
43+
newFileReader(
44+
"src/main/java/g0101_0200/"
45+
+"s0184_department_highest_salary/script.sql"))
46+
.lines()
47+
.collect(Collectors.joining("\n"))
48+
.replaceAll("#.*?\\r?\\n",""))) {
49+
assertThat(resultSet.next(),equalTo(true));
50+
assertThat(resultSet.getNString(1),equalTo("IT"));
51+
assertThat(resultSet.getNString(2),equalTo("Jim"));
52+
assertThat(resultSet.getInt(3),equalTo(90000));
53+
assertThat(resultSet.next(),equalTo(true));
54+
assertThat(resultSet.getNString(1),equalTo("Sales"));
55+
assertThat(resultSet.getNString(2),equalTo("Henry"));
56+
assertThat(resultSet.getInt(3),equalTo(80000));
57+
assertThat(resultSet.next(),equalTo(true));
58+
assertThat(resultSet.getNString(1),equalTo("IT"));
59+
assertThat(resultSet.getNString(2),equalTo("Max"));
60+
assertThat(resultSet.getInt(3),equalTo(90000));
61+
assertThat(resultSet.next(),equalTo(false));
62+
}
63+
}
64+
}
65+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp