macrorugo.spec.ts 1.58 KB
Newer Older
1
2
3
4
5
6
7
8
/**
 * 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";

9
import { ParamCalculability, ParamValueMode } from "../../src";
10
11
12
13
14
15
16
17
18
19
import { MacroRugo, MacrorugoParams } from "../../src/macrorugo/macrorugo";
import { checkResult } from "../test_func";

function macroRugoInstance(): MacroRugo {
    return new MacroRugo(
        new MacrorugoParams(
            12.5,   // ZF1
            6,      // L
            1,      // B
            0.05,   // If
20
            9.418,    // Q
21
22
23
24
25
26
27
28
29
30
            0.6,    // h
            0.01,   // Ks
            0.05,   // C
            0.5,    // D
            0.8,    // k
            1.5     // Cd0
        )
    );
}

31
function testMacroRugo(varTest: string, valRef: number) {
32
    describe("Calc(): ", () => {
33
        it(`${varTest} should be ${valRef}`, () => {
34
35
            const nub = macroRugoInstance();
            nub.prms.Q.v = nub.Calc("Q").vCalc;
36
37
38
39
            const p = nub.getParameter(varTest);
            p.v = undefined;
            p.valueMode = ParamValueMode.CALCUL;
            checkResult(nub.Calc(varTest, 0.1), valRef);
40
41
42
43
44
45
46
47
48
49
50
        });
    });
}

describe("Class MacroRugo: ", () => {

    const nub = macroRugoInstance();
    const vCalc = nub.Calc("Q").vCalc;

    for (const prm of nub.prms) {
        if ([ParamCalculability.DICHO, ParamCalculability.EQUATION].includes(prm.calculability)) {
51
            testMacroRugo(prm.symbol, prm.v);
52
53
54
        }
    }
});