structure_weir_submerged_larinier.spec.ts 1.68 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 ../structure/functions.ts
 */
// import { describe, expect, it, xdescribe } from "../mock_jasmine";
import { StructureFlowMode, StructureFlowRegime } from "../../src/structure/structure";
// tslint:disable-next-line:max-line-length
import { RectangularStructureParams, StructureWeirSubmergedLarinier } from "../../src/structure/structure_weir_submerged_larinier";
import { itCalcQ } from "../structure/functions";
import { precDigits } from "../test_config";
const prms: RectangularStructureParams = new RectangularStructureParams(0, 101, 102, 101.5, 0.2, 0.65);
const test: StructureWeirSubmergedLarinier = new StructureWeirSubmergedLarinier(prms, false);
describe("Class StructureWeirSubmergedLarinier: ", () => {
    xdescribe("Calc(Q): ", () => {
        const Z1: number[] = [102];
        const Q: number[] = [0.407];
        const mode: StructureFlowMode = StructureFlowMode.WEIR;
        const regime: StructureFlowRegime = StructureFlowRegime.SUBMERGED;
        for (let i = 0; i < Q.length; i++) {
            itCalcQ(test, Z1[i], Infinity, Q[i], mode, regime);
    });
    describe("Calc(Z1): ", () => {
        it("Z1(Q=0.780) should be 75.301", () => {
            const testZ1 = new StructureWeirSubmergedLarinier(
                new RectangularStructureParams(0.780, 73.665, 75.301, 75.077, 0.35, 0.65),
                false);
            testZ1.prms.Z1.v = 100; // Test with initial condition far from solution
            expect(testZ1.Calc("Z1").vCalc).toBeCloseTo(75.301, precDigits);
        });
    });
});