value_ref_variable.spec.ts 1.90 KiB
import { ParamValueMode, Session } from "../../src/index";
import { ConduiteDistrib, ConduiteDistribParams } from "../../src/cond_distri";
import { Result } from "../../src/util/result";
/**
 * 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: ConduiteDistrib;
let nub2: ConduiteDistrib;
let prm1: ConduiteDistribParams;
let prm2: ConduiteDistribParams;
/**
 * crée l'environnement de test.
 * répété à chaque test car il manque un mock de beforeEach
function createEnv() {
    // Nub maître
    nub1 = new ConduiteDistrib(new ConduiteDistribParams(3, 1.2, 0.6, 100, 0.000001));
    prm1 = nub1.prms as ConduiteDistribParams;
    // Nub esclave
    nub2 = new ConduiteDistrib(new ConduiteDistribParams(3, 1.2, 0.6, 100, 0.000001));
    prm2 = nub2.prms as ConduiteDistribParams;
    Session.getInstance().clear();
    Session.getInstance().registerNub(nub1);
    Session.getInstance().registerNub(nub2);
describe("Référence d'un paramètre à un paramètre varié : ", () => {
    it("ConduiteDistri Q varie sur nub1, nub2.Q => nub1.Q, calcul et comparaison de J pour les deux", () => {
        // cas de figure :
        // nub2.Q est lié au résultat J de nub1
        // lecture de nub2.Q
        createEnv();
        prm1.Q.setValues(1.5, 6, 0.5);
        prm1.Pr.v = 0.001;
        nub1.calculatedParam = prm1.J;
        const res1: Result = nub1.CalcSerie(0.6);
        prm2.Q.defineReference(nub1, "Q");
        prm2.Pr.v = 0.001;
        nub2.calculatedParam = prm2.J;
        const res2 = nub2.CalcSerie(0.6);
        for (let i = 0; i < res1.resultElements.length; i++) {
            expect(res1.resultElements[i].vCalc).toEqual(res2.resultElements[i].vCalc);
    });
});