An error occurred while loading the file. Please try again.
-
Guillaume Perréal authored5db631cb
import { ConduiteDistrib, ConduiteDistribParams } from "../../src/cond_distri";
import { Result } from "../../src/util/result";
import { Session } from "../../src/index";
/**
* 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 résultat : ", () => {
it("ConduiteDistri Q fixe => Calc(J) => Importe(J) => Calc(Q)", () => {
// cas de figure :
// nub2.Q est lié au résultat J de nub1
// lecture de nub2.Q
createEnv();
prm1.Q.v = 2;
nub1.calculatedParam = prm1.J;
nub1.prms.Pr.v = 0.001;
const res1: Result = nub1.CalcSerie(0.6);
expect(res1.resultElements.length).toEqual(1); // nombre de valeurs du Result
prm2.J.defineReference(nub1, "J");
nub2.prms.Pr.v = 0.001;
nub2.calculatedParam = prm2.Q;
const res2 = nub2.CalcSerie(0.6);
expect(res2.resultElements.length).toEqual(1); // nombre de valeurs du Result
expect(res2.vCalc).toBeCloseTo(prm1.Q.v, 3);
});
it("ConduiteDistri Q varie => Calc(J) => Importe(J) => Calc(Q)", () => {
// 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);
nub1.calculatedParam = prm1.J;
prm1.Pr.v = 0.001;
71727374757677787980818283848586878889
const res1: Result = nub1.CalcSerie(0.6);
prm2.J.defineReference(nub1, "J");
prm2.Pr.v = 0.001;
nub2.calculatedParam = prm2.Q;
const res2 = nub2.CalcSerie(0.6);
expect(res1.resultElements.length).toEqual(10); // nombre de valeurs du Result
expect(res2.resultElements.length).toEqual(10);
let QREF = prm1.Q.paramValues.min;
for (const re of res2.resultElements) {
expect(re.vCalc).toBeCloseTo(QREF, 0.001);
QREF += prm1.Q.paramValues.step;
}
});
});