Browse Source

Added Different Release Month Checker + Tests + Javadoc + Fixed Javadoc + Refactoring

feature-pr/dbgames
Adem Berber 3 years ago
parent
commit
432211464b
  1. 72
      projjpn/src/main/java/de/hs_fulda/ciip/projjpn/Games.java
  2. 7
      projjpn/src/test/java/de/hs_fulda/ciip/projjpn/GamesTest.java

72
projjpn/src/main/java/de/hs_fulda/ciip/projjpn/Games.java

@ -44,7 +44,6 @@ public class Games {
ResultSet resultSet = statement.executeQuery(query); ResultSet resultSet = statement.executeQuery(query);
result += "Name, Console, Developer, Publisher EU, Publisher JP, Publisher NA, Genre, Release EU, Release JP, Release NA, Release AU, USK Rating, PEGI Rating, ESRB Rating, CERO Rating, ACB Rating, Players\n\n"; result += "Name, Console, Developer, Publisher EU, Publisher JP, Publisher NA, Genre, Release EU, Release JP, Release NA, Release AU, USK Rating, PEGI Rating, ESRB Rating, CERO Rating, ACB Rating, Players\n\n";
while (resultSet.next()) { while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name"); String gameName = resultSet.getString("Game_Name");
String gameConsole = resultSet.getString("Game_Console"); String gameConsole = resultSet.getString("Game_Console");
@ -82,17 +81,17 @@ public class Games {
String gamePlayers = resultSet.getString("Game_Players"); String gamePlayers = resultSet.getString("Game_Players");
if (gamePegi != 0) { if (gamePegi != 0) {
result += gameName + ", " + gameConsole + ", " + gameDeveloper + ", " + gamePublisherEu
+ ", " + gamePublisherJp + ", " + gamePublisherNa + ", " + gameGenre + ", "
+ gameReleaseEuDots + ", " + gameReleaseJpDots + ", " + gameReleaseNaDots + ", "
+ gameReleaseAuDots + ", " + gameUsk + ", " + gamePegi + ", " + gameEsrb + ", " + gameCero
+ ", " + gameAcb + ", " + gamePlayers + "\n";
result += gameName + ", " + gameConsole + ", " + gameDeveloper + ", " + gamePublisherEu + ", "
+ gamePublisherJp + ", " + gamePublisherNa + ", " + gameGenre + ", " + gameReleaseEuDots
+ ", " + gameReleaseJpDots + ", " + gameReleaseNaDots + ", " + gameReleaseAuDots + ", "
+ gameUsk + ", " + gamePegi + ", " + gameEsrb + ", " + gameCero + ", " + gameAcb + ", "
+ gamePlayers + "\n";
} else { } else {
result += gameName + ", " + gameConsole + ", " + gameDeveloper + ", " + gamePublisherEu
+ ", " + gamePublisherJp + ", " + gamePublisherNa + ", " + gameGenre + ", "
+ gameReleaseEuDots + ", " + gameReleaseJpDots + ", " + gameReleaseNaDots + ", "
+ gameReleaseAuDots + ", " + gameUsk + ", Unknown, " + gameEsrb + ", " + gameCero + ", "
+ gameAcb + ", " + gamePlayers + "\n";
result += gameName + ", " + gameConsole + ", " + gameDeveloper + ", " + gamePublisherEu + ", "
+ gamePublisherJp + ", " + gamePublisherNa + ", " + gameGenre + ", " + gameReleaseEuDots
+ ", " + gameReleaseJpDots + ", " + gameReleaseNaDots + ", " + gameReleaseAuDots + ", "
+ gameUsk + ", Unknown, " + gameEsrb + ", " + gameCero + ", " + gameAcb + ", " + gamePlayers
+ "\n";
} }
} }
@ -1334,10 +1333,10 @@ public class Games {
} }
/** /**
* Checks if the release years are all the same across Europe, Japan, North
* Checks if the release months are all the same across Europe, Japan, North
* America and Australia. * America and Australia.
* *
* @return Prints the games which have the same release year.
* @return Prints the games which have the same release month.
*/ */
public String checkAllSameReleaseMonth() { public String checkAllSameReleaseMonth() {
String result = ""; String result = "";
@ -1380,6 +1379,53 @@ public class Games {
return result.substring(0, result.length() - 2); return result.substring(0, result.length() - 2);
} }
/**
* Checks if the release months are not all the same across Europe, Japan, North
* America and Australia.
*
* @return Prints the games which do not have the same release month.
*/
public String checkAllDifferentReleaseMonth() {
String result = "";
String query = "SELECT Game_Name, Game_Release_EU, Game_Release_JP, Game_Release_NA, Game_Release_AU FROM Games";
try {
Connection connection = DriverManager.getConnection(databaseURL);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String gameName = resultSet.getString("Game_Name");
String gameReleaseEu = resultSet.getString("Game_Release_EU");
String gameReleaseJp = resultSet.getString("Game_Release_JP");
String gameReleaseNa = resultSet.getString("Game_Release_NA");
String gameReleaseAu = resultSet.getString("Game_Release_AU");
if (gameReleaseAu == null) {
result += gameName + ", ";
} else {
if (!gameReleaseEu.substring(5, 7).equals(gameReleaseJp.substring(5, 7))
|| !gameReleaseJp.substring(5, 7).equals(gameReleaseNa.substring(5, 7))
|| !gameReleaseEu.substring(5, 7).equals(gameReleaseNa.substring(5, 7))
|| !gameReleaseAu.substring(5, 7).equals(gameReleaseEu.substring(5, 7))
|| !gameReleaseAu.substring(5, 7).equals(gameReleaseJp.substring(5, 7))
|| !gameReleaseAu.substring(5, 7).equals(gameReleaseNa.substring(5, 7))) {
result += gameName + ", ";
}
}
}
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result.substring(0, result.length() - 2);
}
/** /**
* Checks if the game is compatible with one player or more. * Checks if the game is compatible with one player or more.
* *

7
projjpn/src/test/java/de/hs_fulda/ciip/projjpn/GamesTest.java

@ -199,6 +199,13 @@ public class GamesTest extends TestCase {
assertEquals(expected, actual); assertEquals(expected, actual);
} }
public void test_checkAllDifferentReleaseMonth() {
Games testObject = new Games();
String expected = "Persona 5 Royal, Ratchet & Clank, Rhythm Paradise, Yakuza: Dead Souls, Jet Set Radio Future, Breakdown, Persona 3 Portable, Tomodachi Life, Beautiful Katamari, Atelier Totori Plus, Crash Bandicoot N. Sane Trilogy";
String actual = testObject.checkAllDifferentReleaseMonth();
assertEquals(expected, actual);
}
public void test_checkOnePlayer() { public void test_checkOnePlayer() {
Games testObject = new Games(); Games testObject = new Games();
String expected = "Persona 5 Royal, Ratchet & Clank, Astral Chain, Fire Emblem: Three Houses, Triangle Strategy, Rhythm Paradise, Super Smash Bros. Ultimate, Yakuza: Dead Souls, Jet Set Radio Future, Breakdown, AI: The Somnium Files, Persona 3 Portable, Tomodachi Life, Beautiful Katamari, Atelier Totori Plus, Crash Bandicoot N. Sane Trilogy"; String expected = "Persona 5 Royal, Ratchet & Clank, Astral Chain, Fire Emblem: Three Houses, Triangle Strategy, Rhythm Paradise, Super Smash Bros. Ultimate, Yakuza: Dead Souls, Jet Set Radio Future, Breakdown, AI: The Somnium Files, Persona 3 Portable, Tomodachi Life, Beautiful Katamari, Atelier Totori Plus, Crash Bandicoot N. Sane Trilogy";

Loading…
Cancel
Save