Annotation Interface SetterToCheck
- Author:
- Yvan Maillot <yvan.maillot@uha.fr>
L'annotation @caseine.tags.SetterToCheck
L'annotation @SetterToCheck engendre une évaluation dont le but est de vérifier l’existence du getter d'un attribut, s'il est bien signé, s'il est bien formé et dans une moindre mesure son fonctionnement.
*Cible
@SetterToCheck ne s'applique qu'aux attributs de types simples.
Formes d'emploi
@SetterToCheck s'emploie
- comme une annotation multivaluée : (e.g.
@SetterToCheck( grade = 1, priority = 2, requiersUnitTestsBefore = "1", value = "consigne")Voir la documentation des propriétés
- comme une annotation monovaluée : (e.g. @SetterToCheck("consigne à l'étudiant")) où "consigne à l'étudiant" est le message à afficher en cas d'erreur et toutes autres propriétés ont leur valeur par défaut.
- comme une annotation de marquage (e.g. @SetterToCheck)
Dans ce cas, toutes les propriétés ont leur valeur par défaut
Effet
L'annotation @SetterToCheck a pour effet de générer une évaluation dont le but est de vérifier que l’attribut annoté possède un setter
- bien nommé : set suivi du nom de l'attribut avec son initiale en majuscule,
- bien signé : il ne retourne rien (void) et a un seul paramètre du type de l'attribut annoté,
- fonctionnel : il modifie effectivement l'attribut annoté
Précaution
Ne fonctionne que si l'attribut annoté est de type simple, que sa classe possède un constructeur disponible publiquement et que le setter se content de modifier l'attribut annoté.
*
Utilisation de la propriété requiersUnitTestsBefore
Cette propriété est un tableau de chaînes de caractères (
String[]) dont chaque élément doit être:- soit une chaîne de caractères convertible en entier (e.g. "2")
Dans ce cas, cela signifie que toutes les évaluations automatiques de priorité égale à cet entier converti (e.g. toutes les évaluations de priorité 2) doivent réussir pour que celle-ci réussisse. - soit une chaîne de caractères qui représente le nom pleinement qualifié
d'un test unitaire accessible existant ou écrit par l'enseignant (e.g.
"edu.uha.miage.PointTest.checkOrigine").
Dans ce cas, cela signifie que la méthode de test unitaire (e.g. public void checkOrigine() de la classe public void edu.uha.miage.PointTest doit réussir pour que cette évaluation réussisse.
Attention aux dépendances cycliques.
- comme une annotation multivaluée : (e.g.
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptiondoubledéfinit le nombre de points attribués à la réussite de ce test ou une valeur relative si le tagRelativeEvaluationest employé.intdéfinit l'ordre de priorité croissante du test généré dans sa classe de tests unitairesString[]définit un tableau de chaînes de caractères qui représentent des tests unitaires.Définit la consigne destinée à l'étudiant quand le test échoue.
Quand la valeur par défaut est choisie, un message standard est généré.
-
Element Details
-
value
String valueDéfinit la consigne destinée à l'étudiant quand le test échoue.
Quand la valeur par défaut est choisie, un message standard est généré.- Returns:
- la consigne destinée à l'étudiant.
- Default:
- ""
-
priority
int prioritydéfinit l'ordre de priorité croissante du test généré dans sa classe de tests unitaires- Returns:
- l'ordre de priorité.
- Default:
- 0
-
grade
double gradedéfinit le nombre de points attribués à la réussite de ce test ou une valeur relative si le tagRelativeEvaluationest employé.
Un grade négatif ou nul est ignoré.
- Returns:
- le grade.
- See Also:
- Default:
- 4.9E-324
-
requiersUnitTestsBefore
String[] requiersUnitTestsBeforedéfinit un tableau de chaînes de caractères qui représentent des tests unitaires.Chaque chaîne de ce tableau peut être
- Soit convertible en entier, dans ce cas, elle représente tous des tests unitaires de cette priorité.
- Soit le nom pleinement qualifié d'une méthode de test unitaire.
Pour que le test unitaire annoté réussisse, il faut que tous les tests unitaires représentés dans ce tableau réussissent.
Attention aux dépendances cycliques
- Returns:
- le tableau des tests unitaires
- Default:
- {}
-