Package caseine.tags

Annotation Interface GetterToCheck


@Retention(RUNTIME) @Target(FIELD) public @interface GetterToCheck
Pour vérifier que l'attribut annoté a un getter correct.
Author:
Yvan Maillot <yvan.maillot@uha.fr>

L'annotation @caseine.tags.GetterToCheck

L'annotation @GetterToCheck 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

@GetterToCheck ne s'applique qu'aux attributs de types simples.

Formes d'emploi

@GetterToCheck s'emploie

  1. comme une annotation multivaluée : (e.g.
     @GetterToCheck(
                  grade = 1,
                  priority = 2,
                  requiersUnitTestsBefore = "1",
                  value = "consigne")
     

    Voir la documentation des propriétés

  2. comme une annotation monovaluée : (e.g. @GetterToCheck("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.
  3. comme une annotation de marquage (e.g. @GetterToCheck)
    Dans ce cas, toutes les propriétés ont leur valeur par défaut

Effet

L'annotation @GetterToCheck a pour effet de générer une évaluation dont le but est de vérifier que l’attribut annoté possède un getter

  1. bien nommé : get suivi du nom de l'attribut avec son initiale en majuscule,
  2. bien signé : il retourne le type de l'attribut et n'a pas de paramètre,
  3. fonctionnel : il retourne 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 getter se content de retourner 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.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    double
    définit le nombre de points attribués à la réussite de ce test ou une valeur relative si le tag RelativeEvaluation est employé.
    int
    définit l'ordre de priorité croissante du test généré dans sa classe de tests unitaires
    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 value
      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é.
      Returns:
      la consigne destinée à l'étudiant.
      Default:
      ""
    • priority

      int priority
      dé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 grade
      définit le nombre de points attribués à la réussite de ce test ou une valeur relative si le tag RelativeEvaluation est employé.

      Un grade négatif ou nul est ignoré.

      Returns:
      le grade.
      See Also:
      Default:
      4.9E-324
    • requiersUnitTestsBefore

      String[] requiersUnitTestsBefore
      dé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:
      {}