46 lines
1.4 KiB
Java
46 lines
1.4 KiB
Java
import org.junit.*;
|
|
import static org.junit.Assert.*;
|
|
|
|
/**
|
|
* Vérifier que les exceptions sont correctement définies.
|
|
*
|
|
* @author Xavier Crégut <Prenom.Nom@enseeiht.fr>
|
|
*/
|
|
public class ExceptionsTest {
|
|
|
|
public static boolean isUncheckedException(Class<?> classe) {
|
|
return Error.class.isAssignableFrom(classe)
|
|
|| RuntimeException.class.isAssignableFrom(classe);
|
|
}
|
|
|
|
public static boolean isCheckedException(Class<?> classe) {
|
|
return Throwable.class.isAssignableFrom(classe)
|
|
&& ! isUncheckedException(classe);
|
|
}
|
|
|
|
public void verifierEstRuntimeException(Class<?> classe) {
|
|
assertTrue(classe.getName() + " doit être une exception !",
|
|
Throwable.class.isAssignableFrom(classe));
|
|
assertTrue(classe.getName() + " doit être non vérifiée !",
|
|
isUncheckedException(classe));
|
|
assertFalse(classe.getName() + " : pourquoi en faire une Error ?",
|
|
Error.class.isAssignableFrom(classe));
|
|
}
|
|
|
|
public void verifierIsCheckedException(Class<?> classe) {
|
|
assertTrue(classe.getName() + " doit être une exception !",
|
|
Throwable.class.isAssignableFrom(classe));
|
|
assertTrue(classe.getName() + " doit être vérifiée !",
|
|
isCheckedException(classe));
|
|
}
|
|
|
|
|
|
@Test
|
|
public void testerExceptions() {
|
|
verifierEstRuntimeException(CreneauInvalideException.class);
|
|
verifierIsCheckedException(LibreException.class);
|
|
verifierIsCheckedException(OccupeException.class);
|
|
}
|
|
|
|
}
|