structure_kivi.spec.ts 2.73 KiB
/**
 * 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 et structure_test.ts
 */
// import { describe, expect, it, xdescribe, xit } from "../mock_jasmine";
import { MessageCode, StructureFlowMode, StructureFlowRegime } from "../../src/index";
import { StructureKivi, StructureKiviParams } from "../../src/structure/structure_kivi";
import { testStructure } from "./functions";
const kiviParams: StructureKiviParams = new StructureKiviParams(
    8.516,      // Q
    101.5,      // ZDV
    103,        // Z1
    102,        // Z2
    2,          // L
    0.4,        // alpha
    0.001,      // béta
    100         // ZRAM : cote Radier Amont
const structTest: StructureKivi = new StructureKivi(kiviParams, false);
structTest.prms.ZDV.v = 101;
describe("Class StructureKivi: ", () => {
    describe("Ecoulement noyé", () => {
        testStructure(structTest, StructureFlowMode.WEIR, StructureFlowRegime.SUBMERGED);
    });
    describe("Ecoulement dénoyé beta=0", () => {
        structTest.prms.beta.v = 0;
        structTest.prms.Z2.v = 101;
        structTest.prms.Q.v = 10.024;
        testStructure(structTest, StructureFlowMode.WEIR, StructureFlowRegime.FREE);
    });
    describe("Ecoulement dénoyé beta=0.001", () => {
        structTest.prms.beta.v = 0.001;
        structTest.prms.Z2.v = 101;
        structTest.prms.Q.v = 10.074;
        testStructure(structTest, StructureFlowMode.WEIR, StructureFlowRegime.FREE);
    });
    describe("Pelle trop faible", () => {
        structTest.prms.ZRAM.v = 100.95;
        it("Calc(Q) should return 2 messages", () => {
            expect(structTest.Calc("Q").resultElement.log.messages.length).toBe(2);
            expect(
                structTest.Calc("Q").resultElement.log.messages[0].code
            ).toBe(MessageCode.WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE);
            expect(
                structTest.Calc("Q").resultElement.log.messages[1].code
            ).toBe(MessageCode.WARNING_STRUCTUREKIVI_HP_TROP_ELEVE);
        });
    });
    describe("Test calcul ZDV (#94)", () => {
        const kiviParams2: StructureKiviParams = new StructureKiviParams(
            0.5,      // Q
            0,      // ZDV
            102,        // Z1
            101.5,        // Z2
            1,          // L
            0.4,        // alpha
            0.001,      // béta
            95.7         // ZRAM : cote Radier Amont
        const structTestKivi2: StructureKivi = new StructureKivi(kiviParams2, false);
        it(`Calc(ZDV) should return 101.57`, () => {
            expect(structTestKivi2.Calc("ZDV").vCalc).toBeCloseTo(101.57, 2);
        });
    });
});
71