Création de tous les objets de règle d'une session avant exécution des calculs getValue

Vos tests de jeux de règles peuvent configurer n'importe quel nombre d'objets de règle d'une session CER avant de passer à la vérification des valeurs calculées sur ces objets de règle.

Cependant, une fois les calculs commencés, la stratégie RecalculationsProhibited empêche de créer un objet de règle invalidant la valeur des calculs readall précédemment effectués.

Structurez vos tests de sorte que la création de tous vos objets de règle survienne avant les calculs (par ex., avant l'exécution de getValue). En pratique, ce n'est pas trop restrictif.

Si votre test tente de créer un nouvel objet de règle dans une session après exécution d'un calcul, la stratégie RecalculationsProhibited indique une erreur d'exécution (si les calculs readall précédemment effectués sont affectés) :

public void newObjectsAddedAfterCalculationsStarted() {

    final FlexibleRetirementYear flexibleRetirementYear =
        FlexibleRetirementYear_Factory.getFactory().newInstance(
            session);

    flexibleRetirementYear.retirementCause().specifyValue(
        "Reached statutory retirement age.");

    /**
     * Calcul de l'âge de départ à la retraite et test de sa valeur
     */
    CREOLETestHelper.assertEquals(65, flexibleRetirementYear
        .ageAtRetirement().getValue());

    /**
     * Création d'un autre objet de règle.
     */

    /**
     * Peut ne pas fonctionner - les nouveaux objets de règle ajoutés à la session une fois
     * les calculs commencés peuvent invalider les calculs
     * <code><readall></code> précédents.
     *
     * {@linkplain RecalculationsProhibited} peut afficher le
     * message : "Impossible de créer de nouveaux objets de règle pour cette session,
     * car celle-ci a déjà accepté une demande
     * de calcul."
     *
     * Pour éviter ce problème, créez tous vos objets de règle avant
     * de tenter un calcul !
     */
    final FlexibleRetirementYear flexibleRetirementYear2 =
        FlexibleRetirementYear_Factory.getFactory().newInstance(
            session);

  }
avertissement : Si votre jeu de règles ne contient pas actuellement d'expressions readall, vous pouvez ne pas structurer vos tests de sorte que toute création d'objet règle survienne avant un calcul.

Toutefois, si vous modifiez votre jeu de règles dans l'avenir pour contenir les expressions readall, vous aurez besoin de restructurer vos tests à ce stade.

Pour éviter tout retravail, structurez toujours vos tests de sorte que toute création d'objet de règle soit exécutée avant le début des calculs.