feat: dev-web - implements tests

This commit is contained in:
kmitresse
2024-03-27 09:08:44 +01:00
parent ee5a0b9f58
commit aa607df504
8 changed files with 350 additions and 156 deletions
@@ -15,13 +15,13 @@ public class Main {
// DAO<Game> daoJpaGame = jpaDaoFactory.getDAOGame();
// DAO<Player> daoJpaPlayer = jpaDaoFactory.getDAOPlayer();
// Contenu de la BD au début
User[] users = daoJpaUser.findAll();
for (User u : users) {
System.out.println(u.toString());
}
System.out.println();
// // Contenu de la BD au début
// User[] users = daoJpaUser.findAll();
// for (User u : users) {
// System.out.println(u.toString());
// }
// System.out.println();
//
// Ajout d'User :
Calendar cal1 = Calendar.getInstance();
cal1.set(1996, Calendar.FEBRUARY, 20);
@@ -93,4 +93,22 @@ public class Deck {
Collections.shuffle(cards);
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Deck deck = (Deck) o;
boolean sameSize = cards.size() == deck.cards.size();
int counter = 0;
for (int i = 0; i < cards.size(); i++) {
for (int j = 0; j < deck.cards.size(); j++) {
if (cards.get(i).getColor() == deck.cards.get(j).getColor()
&& cards.get(i).getValue() == deck.cards.get(j).getValue()) {
counter++;
continue;
}
}
}
return sameSize && counter == cards.size();
}
}
@@ -257,12 +257,28 @@ public class Game implements Serializable {
* Tri des joueurs de la partie par score
*/
public void sortPlayersByScore() {
this.players.stream().sorted((p1, p2) -> p1.getScore() - p2.getScore());
for (int i = 0; i < players.size(); i++) {
for (int j = i + 1; j < players.size(); j++) {
if (players.get(i).getScore() < players.get(j).getScore()) {
Player temp = players.get(i);
players.set(i, players.get(j));
players.set(j, temp);
}
}
}
}
@Override
public String toString() {
return String.format("Game{id=%s, createdAt=%s, players=%s}", id.toString(), createdAt, players);
return String.format("Game{id=%s, createdAt=%s}", id.toString(), createdAt.toString());
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Game)) return false;
Game game = (Game) o;
return getNbRounds() == game.getNbRounds() && getNbColors() == game.getNbColors() && getNbValuesPerColor() == game.getNbValuesPerColor() && Objects.equals(getId(), game.getId()) && Objects.equals(getCreatedAt(), game.getCreatedAt()) && getDifficulty() == game.getDifficulty() && Objects.equals(getPlayers(), game.getPlayers()) && Objects.equals(getDeck(), game.getDeck());
}
/**
@@ -270,3 +286,4 @@ public class Game implements Serializable {
*/
public enum Difficulty {EASY, HARD}
}
@@ -92,7 +92,8 @@ public class Player implements Serializable {
* @param rightClickCount le nombre de clics corrects
* @param rapidClickCount le nombre de clics rapides
*/
public Player(Game game, User user, int score, boolean winner, int clickCount, int rightClickCount, int rapidClickCount) {
public Player(BigDecimal id, Game game, User user, int score, boolean winner, int clickCount, int rightClickCount, int rapidClickCount) {
this.id = id;
this.game = game;
this.user = user;
this.score = score;
@@ -262,8 +263,17 @@ public class Player implements Serializable {
public ArrayList<Card> getDeck() {
return deck.getCards();
}
@Override
public String toString() {
return String.format("Player{id=%s, game=%s, user=%s, score=%d, winner=%b, clickCount=%d, rightClickCount=%d, rapidClickCount=%d}", id.toString(), game.toString(), user.toString(), score, winner, clickCount, rightClickCount, rapidClickCount);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Player)) return false;
Player player = (Player) o;
return getScore() == player.getScore() && isWinner() == player.isWinner() && getClickCount() == player.getClickCount() && getRightClickCount() == player.getRightClickCount() && getRapidClickCount() == player.getRapidClickCount() && Objects.equals(id, player.id) && Objects.equals(getGame(), player.getGame()) && Objects.equals(getUser(), player.getUser());
}
}
@@ -345,7 +345,16 @@ public class User implements Serializable {
@Override
public String toString() {
return String.format("User{id=%s, username='%s', birth=%s, gender=%s}", id.toString(), username, birth.toString(), gender.toString());
return String.format("User{username='%s', birth=%s, gender=%s}", username, birth.toString(), gender.toString());
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof User)) return false;
User user = (User) o;
return
Objects.equals(getId(), user.getId()) && Objects.equals(getUsername(), user.getUsername()) && Objects.equals(getEmail(), user.getEmail()) && Objects.equals(getPassword(), user.getPassword()) && Objects.equals(getBirth(), user.getBirth()) && getGender() == user.getGender();
}
/**