Files
interpreteur-lir/src/interpreteurlir/programmes/tests/TestEtiquette.java
T
SylvanCourtiol 60219ea6d9 Prototype 2.0
2021-05-16 18:17:28 +02:00

220 lines
6.5 KiB
Java

/**
* TestEtiquette.java 13 mai 2021
* IUT Rodez info1 2020-2021, pas de copyright, aucun droit
*/
package interpreteurlir.programmes.tests;
import static info1.outils.glg.Assertions.*;
import interpreteurlir.InterpreteurException;
import interpreteurlir.programmes.Etiquette;
/**
* Tests unitaires de {@link Etiquette}
* @author Nicolas Caminade
* @author Sylvan Courtiol
* @author Pierre Debas
* @author Heïa Dexter
* @author Lucas Vabre
*/
public class TestEtiquette {
/** Jeu de données valides pour les tests */
private Etiquette[] fixture = {
new Etiquette(Etiquette.VALEUR_ETIQUETTE_MIN),
new Etiquette(10),
new Etiquette(15),
new Etiquette(8),
new Etiquette(18),
new Etiquette(1500),
new Etiquette(1501),
new Etiquette(Etiquette.VALEUR_ETIQUETTE_MAX),
new Etiquette("" +Etiquette.VALEUR_ETIQUETTE_MIN),
new Etiquette(" 10"),
new Etiquette("15 "),
new Etiquette("8"),
new Etiquette("18"),
new Etiquette("1500 "),
new Etiquette(" 1501 "),
new Etiquette("" + Etiquette.VALEUR_ETIQUETTE_MAX),
};
/**
* Tests unitaires de {@link Etiquette#Etiquette(int)}
*/
public void testEtiquetteInt() {
System.out.println("\tExécution du test de Etiquette#Etiquette(int)");
final int[] INVALIDES = {
Integer.MIN_VALUE, -1, 0, 100000, Integer.MAX_VALUE
};
for (int valeur : INVALIDES) {
try {
new Etiquette(valeur);
echec();
} catch (InterpreteurException lancee) {
}
}
try {
new Etiquette(Etiquette.VALEUR_ETIQUETTE_MIN);
new Etiquette(10);
new Etiquette(15);
new Etiquette(8);
new Etiquette(18);
new Etiquette(1500);
new Etiquette(1501);
new Etiquette(Etiquette.VALEUR_ETIQUETTE_MAX);
} catch (InterpreteurException lancee) {
echec();
}
}
/**
* Tests unitaires de {@link Etiquette#Etiquette(String)}
*/
public void testEtiquetteString() {
System.out.println("\tExécution du test de "
+ "Etiquette#Etiquette(String)");
final String[] INVALIDES = {
null, "", "cinq",
"" + Integer.MIN_VALUE, "-1", " 0",
"100000 ", "" + Integer.MAX_VALUE
};
for (String valeur : INVALIDES) {
try {
new Etiquette(valeur);
echec();
} catch (InterpreteurException lancee) {
}
}
try {
new Etiquette("" +Etiquette.VALEUR_ETIQUETTE_MIN);
new Etiquette(" 10");
new Etiquette("15 ");
new Etiquette("8");
new Etiquette("18");
new Etiquette("1500 ");
new Etiquette(" 1501 ");
new Etiquette("" + Etiquette.VALEUR_ETIQUETTE_MAX);
} catch (InterpreteurException lancee) {
echec();
}
}
/**
* Tests unitaires de {@link Etiquette#toString()}
*/
public void testToString() {
System.out.println("\tExécution du test de Etiquette#toString()");
final String[] TEXTE_ATTENDU = {
"1",
"10",
"15",
"8",
"18",
"1500",
"1501",
"99999",
"1",
"10",
"15",
"8",
"18",
"1500",
"1501",
"99999",
};
for (int numTest = 0 ; numTest < TEXTE_ATTENDU.length ; numTest++) {
assertEquivalence(fixture[numTest].toString(),
TEXTE_ATTENDU[numTest]);
}
}
/**
* Tests unitaires de {@link Etiquette#getValeur()}
*/
public void testGetValeur() {
System.out.println("\tExécution du test de Etiquette#getValeur()");
final int[] VALEUR_ATTENDUE = {
1,
10,
15,
8,
18,
1500,
1501,
99999,
1,
10,
15,
8,
18,
1500,
1501,
99999,
};
for (int numTest = 0 ; numTest < VALEUR_ATTENDUE.length ; numTest++) {
assertEquivalence(fixture[numTest].getValeur(),
VALEUR_ATTENDUE[numTest]);
}
}
/**
* Test unitaires de {@link Etiquette#compareTo(Etiquette)}
*/
public void testCompareTo() {
final Etiquette[] CROISSANTS = {
new Etiquette(Etiquette.VALEUR_ETIQUETTE_MIN),
new Etiquette(8),
new Etiquette(10),
new Etiquette(15),
new Etiquette(18),
new Etiquette(1500),
new Etiquette(1501),
new Etiquette(Etiquette.VALEUR_ETIQUETTE_MAX),
};
System.out.println("\tExécution du test de "
+ "Etiquette#compareTo(Etiquette)");
/** Test croissant */
for (int reference = 0 ; reference < CROISSANTS.length ; reference++) {
for (int numtest = reference + 1 ;
numtest < CROISSANTS.length ;
numtest++) {
assertTrue(CROISSANTS[reference].compareTo(
CROISSANTS[numtest]) < 0);
}
}
/** Test décroissant */
for (int reference = CROISSANTS.length - 1 ;
reference > 0 ;
reference--) {
for (int numtest = reference - 1 ;
numtest >= 0 ;
numtest--) {
assertTrue(CROISSANTS[reference].compareTo(
CROISSANTS[numtest]) > 0);
}
}
Etiquette referenceEgalite = new Etiquette(666);
assertTrue(referenceEgalite.compareTo(referenceEgalite) == 0);
assertTrue(referenceEgalite.compareTo(new Etiquette("666")) == 0);
}
}