pab.spec.ts 1.98 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
 */
// import { describe, expect, it, xdescribe, xit } from "../mock_jasmine";
import { Pab, PabParams } from "../../src/pab/pab";
import { PabCloisons } from "../../src/pab/pab_cloisons";
import { Cloisons, CloisonsParams } from "../../src/structure/cloisons";
import { RectangularStructureParams } from "../../src/structure/rectangular_structure_params";
import { StructureWeirSubmergedLarinier } from "../../src/structure/structure_weir_submerged_larinier";
const dbg: boolean = true;
/**
 * Exemple formation Cassiopée 2018-09
// Modèle de cloison
const modelCloisons = new Cloisons(
    new CloisonsParams(
        0.773,      // Débit total (m3/s)
        78.27,    // Cote de l'eau amont (m)
        3.1,     // Longueur des bassins (m)
        2.5,      // Largeur des bassins (m)
        1.5,      // Profondeur moyenne (m)
        0.23     // Hauteur de chute (m)
const rectStructPrms = new RectangularStructureParams(
    0.773,  // Q
    76.67,        // ZDV
    0,        // Z1
    0,      // Z2
    0.35,          // L
    0.65        // Cd pour un seuil rectangulaire
    // W = Infinity par défaut pour un seuil
// Ajout d'ouvrage dans la cloison
modelCloisons.addStructure(new StructureWeirSubmergedLarinier(rectStructPrms, dbg));
// Création de la passe
const pab: Pab = new Pab(
    new PabParams(
        modelCloisons.prms.Q.v,
        modelCloisons.prms.Z1.v,
        74.86
    dbg
// Ajout des cloisons
const pabCloison = new PabCloisons(modelCloisons, 0, dbg);
for (let i = 0; i < 15; i++) {
    pab.addChild(pabCloison);
// Tests
describe("Class Pab: ", () => {
    describe("Calc(Z1) Exemple Formation 2018-09 p.14", () => {
        it("vCalc(Z1) should return 78.27", () => {
            expect(pab.Calc("Z1").vCalc).toBeCloseTo(78.27, 2);
71727374
}); }); });