/** * 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 { Cloisons, CloisonsParams } from "../../src/structure/cloisons"; import { CreateStructure } from "../../src/structure/factory_structure"; import { StructureKiviParams } from "../../src/structure/structure_kivi"; import { LoiDebit, StructureType } from "../../src/structure/structure_props"; // tslint:disable-next-line:max-line-length import { RectangularStructureParams, StructureWeirSubmergedLarinier } from "../../src/structure/structure_weir_submerged_larinier"; import { testParallelStructures } from "./functions"; const cloisons: Cloisons = new Cloisons( new CloisonsParams( 0, // Débit total (m3/s) 102, // Cote de l'eau amont (m) 10, // Longueur des bassins (m) 1, // Largeur des bassins (m) 1, // Profondeur moyenne (m) 0.5 // Hauteur de chute (m) ), false // debug ); const fente: StructureWeirSubmergedLarinier = new StructureWeirSubmergedLarinier( new RectangularStructureParams( 0, 101, 102, 101.5, 0.2, 0.65 ) ); cloisons.addStructure(fente); describe("Class Cloisons: ", () => { describe("Calc(Q) Fente noyée (Larinier 1992)", () => { it("vCalc should return 0.407", () => { expect(cloisons.Calc("Q").vCalc).toBeCloseTo(0.407, 3); }); it("extraResults.PV should return 199.7", () => { expect(cloisons.Calc("Q").extraResults.PV).toBeCloseTo(199.7, 1); }); }); const c2: Cloisons = new Cloisons( new CloisonsParams( 0, // Débit total (m3/s) 102, // Cote de l'eau amont (m) 10, // Longueur des bassins (m) 1, // Largeur des bassins (m) 1, // Profondeur moyenne (m) 0.5 // Hauteur de chute (m) ), false // debug ); // Ajout d'une structure de chaque type dans Cloisons const iStTypes: StructureType[] = [ StructureType.Orifice, StructureType.SeuilRectangulaire, StructureType.SeuilRectangulaire ]; const iLoiDebits: LoiDebit[] = [ LoiDebit.OrificeSubmerged, LoiDebit.WeirSubmergedLarinier, LoiDebit.KIVI ]; for (let i = 0; i < 3; i++ ) { c2.addStructure(CreateStructure(iStTypes[i], iLoiDebits[i], c2, false)); } const prmsKivi: StructureKiviParams = c2.structures[2].prms as StructureKiviParams; prmsKivi.ZRAM.v = 0; testParallelStructures(c2, iStTypes, iLoiDebits); describe("Calcul de ZRAM de l'équation KIVI", () => { it("ZRAM should be 101", () => { c2.Calc("Q"); expect(prmsKivi.ZRAM.v).toBeCloseTo(101, 3); }); }); });