//__________.__ .__ .__ ___________ __ //\_ _____|__| ____ | |__ |__| ___________ \__ _______ ______/ |_ // | __) | _/ ___\| | \| _/ __ \_ __ \ | |_/ __ \ / ___\ __\ // | \ | \ \___| Y | \ ___/| | \/ | |\ ___/ \___ \ | | // \___ / |__|\___ |___| |__|\___ |__| |____| \___ /____ >|__| // \/ \/ \/ \/ \/ \/ package Tests; import Entity.*; import Enum.CapaciteSpeciale; import Enum.TypeMechant; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.*; class Test { //___________ __ ____ //\__ _______ ______/ |_ /_ | // | |_/ __ \ / ___\ __\ | | // | |\ ___/ \___ \ | | | | // |____| \___ /____ >|__| |___| // \/ \/ @org.junit.jupiter.api.Test // Ce test s'assure que lorsque le gentil attaque il est en capacité de tuer le méchant public final void testAttaqueTue() { // Création d'un gentil Gentil gentil = new Gentil('*', 50, 7, 50, "Thomas", CapaciteSpeciale.ONE_SHOT); // Création d'un méchant Mechant mechant = new Mechant( '!', "Sbire", TypeMechant.GANGSTER); // Le gentil attaque le méchant gentil.attaquer(mechant); if(mechant.getIsAlive()){ // Si le méchant est en vie alors le test est raté fail("\n ///////// \ntestAttaqueTue raté\n ///////// \n"); }else{ // Si le méchant n'est plus en vie alors le test est réussi System.out.println("\n /////////\ntestAttaqueTue réussi \n ///////// \n"); } } //___________ __ ________ //\__ _______ ______/ |_ \_____ \ // | |_/ __ \ / ___\ __\ / ____/ // | |\ ___/ \___ \ | | / \ // |____| \___ /____ >|__| \_______ \ // \/ \/ \/ @org.junit.jupiter.api.Test // Ce test vérifie ce qu'il se passe si le gentil meurt avant d'arriver à la fin de la carte public final void testGentilMeurtAvantFin(){ Context context = new Context(); // Création d'une carte Carte carte = new Carte("Désert", "Gobie", 0, 4, 5); // Création du gentil Gentil gentil = new Gentil('*', 1, 1, 10, "Thomas", CapaciteSpeciale.ONE_SHOT); // Création des méchants Mechant catcheur = new Mechant('!', "Catcheur", TypeMechant.CATCHEUR); Mechant brute = new Mechant('!', "Brute", TypeMechant.BRUTE); Mechant tireur = new Mechant('!', "Tireur", TypeMechant.TIREUR); Mechant gangster = new Mechant('!', "Gangster", TypeMechant.GANGSTER); Mechant boss = new Mechant('$', "Boss", TypeMechant.BOSS); // Création d'une liste ou on stocke les diférents méchants List<Mechant> listeMechant = new ArrayList<Mechant>(); listeMechant.add(catcheur); listeMechant.add(brute); listeMechant.add(tireur); listeMechant.add(gangster); listeMechant.add(boss); // Création d'un tableau qui représente la map de jeu Personnage[] tableau = new Personnage[7]; tableau[0] = gentil; tableau[1] = catcheur; tableau[2] = brute; tableau[3] = tireur; tableau[4] = gangster; tableau[5] = boss; tableau[6] = null; // Création du jeu avec les éléments définis au dessus Jeu jeu = new Jeu(carte, gentil, listeMechant, tableau); while(gentil.getIsAlive()){ // Lancement automatique de tour tant que le gentil est en vie context.LancementTourAutomatique(tableau, gentil, context); if (tableau[tableau.length - 1] == gentil) { // Si le gentil arrive à la fin de la map sans être mort alors le test est raté fail("\n ///////// \ntestGentilMeurtAvantFin raté\n ///////// \n"); }else{ // Si le gentil meurt avant la fin de la map alors le test est réussi System.out.println("\n ///////// \ntestGentilMeurtAvantFin réussi\n ///////// \n"); } } } //___________ __ ________ //\__ _______ ______/ |_ \_____ \ // | |_/ __ \ / ___\ __\ _(__ < // | |\ ___/ \___ \ | | / \ // |____| \___ /____ >|__| /______ / // \/ \/ \/ @org.junit.jupiter.api.Test // Ce test s'assure que le gentil avance sur la case suivante si il n'y a pas de méchant dessus public final void testGentilAvanceCaseVide(){ Context context = new Context(); // Création de la carte Carte carte = new Carte("Désert", "Gobie", 0, 4, 5); // Création du gentil Gentil gentil = new Gentil('*', 1, 1, 10, "Thomas", CapaciteSpeciale.ONE_SHOT); // Création d'un tableau qui représente la map de jeu Personnage[] tableau = new Personnage[7]; tableau[0] = gentil; // Lancement automatique de tour tant que le gentil est en vie context.LancementTourAutomatique(tableau, gentil, context); if (tableau[1] != gentil) { // Si après 1 tour la case 1 du tableau n'est pas le gentil alors le test est raté fail("\n ///////// \ntestGentilAvanceCaseVide raté\n ///////// \n"); }else{ // Si après 1 tour la case 1 du tableau est le gentil alors le test est réussi System.out.println("\n ///////// \ntestGentilAvanceCaseVide réussi\n ///////// \n"); } } //___________ __ _____ //\__ _______ ______/ |_ / | | // | |_/ __ \ / ___\ __\ / | |_ // | |\ ___/ \___ \ | | / ^ / // |____| \___ /____ >|__| \____ | // \/ \/ |__| @org.junit.jupiter.api.Test // Ce test s'assure que si le gentil arrive à la fin de la map il gagne public final void testVictoireGentil(){ Context context = new Context(); // Création de la carte Carte carte = new Carte("Désert", "Gobie", 0, 4, 5); // Création du gentil Gentil gentil = new Gentil('*', 1, 1, 10, "Thomas", CapaciteSpeciale.ONE_SHOT); // Création d'un tableau qui représente la map de jeu Personnage[] tableau = new Personnage[7]; tableau[0] = gentil; while(gentil.getIsAlive()){ // Lancement automatique du tour tant que le gentil est en vie context.LancementTourAutomatique(tableau, gentil, context); if (tableau[tableau.length - 1] == gentil) { // Si la dernière case du tableau est égale au gentil alors le test est réussi System.out.println("\n ///////// \ntestVictoireGentil réussi\n ///////// \n"); break; } } if(!gentil.getIsAlive()){ // Si le gentil meurt avant d'arriver à la fin du tableau alors le test est raté fail("\n ///////// \ntestVictoireGentil raté\n ///////// \n"); } } //___________ __ .________ //\__ _______ ______/ |_ | ____/ // | |_/ __ \ / ___\ __\ |____ \ // | |\ ___/ \___ \ | | / \ // |____| \___ /____ >|__| /______ / // \/ \/ \/ @org.junit.jupiter.api.Test // Ce test s'assure que le gentil ne peut utiliser sa capacité spéciale qu'une seule fois public final void testCapaciteSpecialeUneFois(){ Context context = new Context(); // Création d'un gentil Gentil gentil = new Gentil('*', 1, 1, 10, "Thomas", CapaciteSpeciale.TREMPETTE); // Création d'un méchant Mechant boss = new Mechant('$', "Boss", TypeMechant.BOSS); // Utilisation de la capacité spéciale du gentil sur le méchant gentil.utiliserPouvoir(boss); if (gentil.getCapaciteSpeciale() != null){ // Si la capacité spéciale du gentil n'est pas égale à "null" alors le test est raté fail("\n ///////// \ntestCapaciteSpecialeUneFois raté\n ///////// \n"); }else{ // Si la capacité spéciale du gentil est égale à "null" alors le test est réussi System.out.println("\n ///////// \ntestCapaciteSpecialeUneFois réussi\n ///////// \n"); } } }