2020-05-01 22:28:41 +02:00

62 lines
1.5 KiB
Java

package td5.p1;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
import td5.p1.arme.Arme;
import td5.p1.personnage.Orc;
import td5.p1.personnage.Personnage;
import td5.p1.personnage.Tauren;
public class testArmes {
@Test
public void test1() {
Tauren diablon = new Tauren("Diablon", 15);
Orc azag = new Orc("Azag", 5);
diablon.attack(azag);
azag.attack(diablon);
assertEquals(100, azag.getHp());
assertEquals(95, diablon.getHp());
}
@Test
public void test2() {
WeaponFactory wf = new WeaponFactory();
Arme w = wf.createWeapon("SWORD", "excalibur");
Arme w1 = wf.getWeapon("excalibur");
assertEquals(w, w1);
Personnage azag = new Orc("Azag", 5);
try {
assertEquals(Class.forName("td5.p1.arme.Epée"), azag.getArme().getClass());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
@Test
public void test3() {
WeaponFactory wp = new WeaponFactory();
WeaponFactory wp2 = new ModernWeaponFactory();
String nom = "Ref";
int i = 0;
Arme a1 = wp.createWeapon("SWORD", nom + i);
i++;
Arme a2 = wp2.createWeapon("Dague", nom + i);
i++;
Arme a3 = wp2.createWeapon("Fusil", nom + i);
i++;
Arme a4 = wp2.createWeapon("Missil", nom + i); // Type non reconnu
assertTrue(a1 != null);
assertTrue(a2 != null);
assertTrue(a3 != null);
assertTrue(a4 == null);
assertEquals(a1, wp.getWeapon(nom + 0)); // On retrouve une arme créée par un autre
assertEquals(a3, wp.getWeapon(nom + 2));
}
}