macrorugo.spec.ts 1.49 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
 * 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";

import { ParamCalculability } from "../../src";
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
            0.5,    // Q
            0.6,    // h
            0.01,   // Ks
            0.05,   // C
            0.5,    // D
            0.8,    // k
            1.5     // Cd0
        )
    );
}

function testMacroRugo(varTest: string) {
    describe("Calc(): ", () => {
        it("V should be 1", () => {
            const nub = macroRugoInstance();
            nub.prms.Q.v = nub.Calc("Q").vCalc;
            const res: number = nub.prms[varTest].v;
            nub.prms[varTest].v = undefined;

            checkResult(nub.Calc(varTest, 0), res);
        });
    });
}

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)) {
            testMacroRugo(prm.symbol);
        }
    }
});