value_ref_section.spec.ts 1.68 KiB
import { cSnTrapez, ParamsSectionTrapez } from "../../src";
import { SectionParametree } from "../../src/section/section_parametree";
import { acSection } from "../../src/section/section_type";
/**
 * IMPORTANT !
 * Décommenter temporairement la ligne suivante (import { } from "./mock_jasmine")
 * Pour exécuter ce code dans le débugger.
 * Faire de même avec le fichier test_func.ts
// import { describe, expect, it, xdescribe, xit } from "../mock_jasmine";
let nub1: SectionParametree;
let nub2: SectionParametree;
let prm1: ParamsSectionTrapez;
let prm2: ParamsSectionTrapez;
/**
 * crée l'environnement de test.
 * répété à chaque test car il manque un mock de beforeEach
function createEnv() {
    // Nub maître
    const prmsM = new ParamsSectionTrapez(1, 0.5, 1, 0.01, 1, 0.01, 2);
    prmsM.Pr.v = 0.01;
    nub1 = new SectionParametree(new cSnTrapez(prmsM));
    prm1 = nub1.prms as ParamsSectionTrapez;
    // Nub esclave
    const prmsS = new ParamsSectionTrapez(1, 0.5, 1, 0.01, 1, 0.01, 2);
    prmsS.Pr.v = 0.01;
    nub2 = new SectionParametree(new cSnTrapez(prmsS));
    prm2 = nub2.prms as ParamsSectionTrapez;
describe("référence d'un paramètre à un autre : ", () => {
    describe("résultat complémentaire/section : ", () => {
        it("test 1", () => {
            // cas de figure :
            // nub2.Y est lié au résultat complémentaire Yf de nub1
            // lecture de nub2.Y
            createEnv();
            prm2.Y.v = 0;  // valeur esclave, doit être masquée par la valeur maître (cad prm1.Yf)
            prm2.Y.defineReference(nub1, ".Yf");
            nub1.CalcSerie();
            expect(prm2.Y.v).toEqual(1);
        });
    });
});