Skip to content

Commit 64a1b2b

Browse files
authored
Added test 627.
1 parent 8e04a7f commit 64a1b2b

File tree

2 files changed

+74
-1
lines changed

2 files changed

+74
-1
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Write your MySQL query statement below
22
# #Easy #Database #SQL_I_Day_2_Select_and_Order #2022_03_21_Time_191_ms_(96.89%)_Space_0B_(100.00%)
3-
UPDATE Salary SET sex = IF(sex = 'm', 'f', 'm');
3+
UPDATE Salary SET sex = CASE WHEN sex = 'm' THEN 'f' ELSE 'm' END;
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package g0601_0700.s0627_swap_salary;
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 Salary(id INTEGER PRIMARY KEY, name"
24+
+ " VARCHAR, sex VARCHAR, salary INTEGER); "
25+
+ "INSERT INTO Salary(id, name, sex, salary)"
26+
+ " VALUES (1, 'A', 'm', 2500); "
27+
+ "INSERT INTO Salary(id, name, sex, salary)"
28+
+ " VALUES (2, 'B', 'f', 1500); "
29+
+ "INSERT INTO Salary(id, name, sex, salary)"
30+
+ " VALUES (3, 'C', 'm', 5500); "
31+
+ "INSERT INTO Salary(id, name, sex, salary)"
32+
+ " VALUES (4, 'D', 'f', 500); ")
33+
class MysqlTest {
34+
@Test
35+
void testScript(@EmbeddedDatabase DataSource dataSource)
36+
throws SQLException, FileNotFoundException {
37+
try (final Connection connection = dataSource.getConnection()) {
38+
try (final Statement statement = connection.createStatement()) {
39+
statement.executeUpdate(
40+
new BufferedReader(
41+
new FileReader(
42+
"src/main/java/g0601_0700/"
43+
+ "s0627_swap_salary/script.sql"))
44+
.lines()
45+
.collect(Collectors.joining("\n"))
46+
.replaceAll("#.*?\\r?\\n", ""));
47+
final ResultSet resultSet =
48+
statement.executeQuery("select id, name, sex, salary from Salary");
49+
assertThat(resultSet.next(), equalTo(true));
50+
assertThat(resultSet.getInt(1), equalTo(1));
51+
assertThat(resultSet.getNString(2), equalTo("A"));
52+
assertThat(resultSet.getNString(3), equalTo("f"));
53+
assertThat(resultSet.getInt(4), equalTo(2500));
54+
assertThat(resultSet.next(), equalTo(true));
55+
assertThat(resultSet.getInt(1), equalTo(2));
56+
assertThat(resultSet.getNString(2), equalTo("B"));
57+
assertThat(resultSet.getNString(3), equalTo("m"));
58+
assertThat(resultSet.getInt(4), equalTo(1500));
59+
assertThat(resultSet.next(), equalTo(true));
60+
assertThat(resultSet.getInt(1), equalTo(3));
61+
assertThat(resultSet.getNString(2), equalTo("C"));
62+
assertThat(resultSet.getNString(3), equalTo("f"));
63+
assertThat(resultSet.getInt(4), equalTo(5500));
64+
assertThat(resultSet.next(), equalTo(true));
65+
assertThat(resultSet.getInt(1), equalTo(4));
66+
assertThat(resultSet.getNString(2), equalTo("D"));
67+
assertThat(resultSet.getNString(3), equalTo("m"));
68+
assertThat(resultSet.getInt(4), equalTo(500));
69+
assertThat(resultSet.next(), equalTo(false));
70+
}
71+
}
72+
}
73+
}

0 commit comments

Comments
 (0)