Voir liens.
Considérons la classe suivante : GestionParametres. Nous aimerions tester les choses suivantes :
addParametre
,
setParametre
,
getParametre
ou delParametre
est une chaîne vide,
l'exception InvalidStringException
doit être levéeaddParametre
est appelé deux fois avec le même nom,
l'exception
AlreadyExistsException
est levéegetParametre
, setParametre
ou
delParametre
est appelé avec un nom inconnu,
l'exception NonExistentException
est levéegetParametre
doit retourner la valeur définie par
addParametre
ou
setParametre
delParametre
enlève le paramètre en questiontry { gp = new GestionParametres(); } catch (Exception e) { Erreur("L'exception " + e.toString() + " est levée lors de " + "l'appel du constructeur de la classe GestionParametres."); }
addParametre
est une chaîne vide,
l'exception InvalidStringException
doit être levéetry { gp.addParametre(STRING_VIDE, VALEUR_PARAMETRE_LEGAL1); Erreur("Exception de type InvalidStringException attendue lors " + "de l'appel d'addParametre"); } catch (InvalidStringException e) { } catch (Exception e) { Erreur("L'exception " + e.toString() + " est levée lors de " + "de l'appel d'addParametre alors qu'une exception de " + "type InvalidStringException était attendue."); }
try { gp.addParametre(NOM_PARAMETRE_LEGAL1, VALEUR_PARAMETRE_LEGAL1); } catch (Exception e) { Erreur("L'exception " + e.toString() + " est levée lors de " + "l'appel d'addParametre."); }
addParametre
est appelé deux fois avec le même nom,
l'exception AlreadyExistsException
est levéetry { gp.addParametre(NOM_PARAMETRE_LEGAL1, VALEUR_PARAMETRE_LEGAL1); gp.addParametre(NOM_PARAMETRE_LEGAL1, VALEUR_PARAMETRE_LEGAL2); Erreur("Exception de type AlreadyExistsException attendue lors " + "de l'appel d'addParametre"); } catch (AlreadyExistsException e) { } catch (Exception e) { Erreur("L'exception " + e.toString() + " est levée lors de " + "de l'appel d'addParametre alors qu'une exception de " + "type AlreadyExistsException était attendue."); }
try { gp.addParametre(NOM_PARAMETRE_LEGAL1, VALEUR_PARAMETRE_LEGAL1); gp.addParametre(NOM_PARAMETRE_LEGAL2, VALEUR_PARAMETRE_LEGAL1); } catch (Exception e) { Erreur("L'exception " + e.toString() + " est levée lors de " + "l'appel d'addParametre."); }
getParametre
doit retourner la valeur définie par
addParametre
ou setParametre
gp.addParametre(NOM_PARAMETRE_LEGAL1, VALEUR_PARAMETRE_LEGAL1); if (!VALEUR_PARAMETRE_LEGAL1.equals(gp.getParametre(NOM_PARAMETRE_LEGAL1))) Erreur("La valeur retournée par getParametre ne correspond pas à celle " + "définie par addParametre"); gp.setParametre(NOM_PARAMETRE_LEGAL1, VALEUR_PARAMETRE_LEGAL2); if (!VALEUR_PARAMETRE_LEGAL2.equals(gp.getParametre(NOM_PARAMETRE_LEGAL1))) Erreur("La valeur retournée par getParametre ne correspond pas à celle " + "définie par setParametre");
delParametre
enlève le paramètre en questiontry { gp.addParametre(NOM_PARAMETRE_LEGAL1, VALEUR_PARAMETRE_LEGAL1); gp.addParametre(NOM_PARAMETRE_LEGAL2, VALEUR_PARAMETRE_LEGAL2); gp.delParametre(NOM_PARAMETRE_LEGAL1); gp.getParametre(NOM_PARAMETRE_LEGAL1); Erreur("Le parametre a été enlevé. Une exception de type " + "NonExistentException attendue "); } catch (NonExistentException e) { } catch (Exception e) { Erreur("L'exception " + e.toString() + " est levée alors qu'une " + "exception de type NonExistentException était attendue."); }