import { CreateStructure, cSnTrapez, LoiDebit, ParamsSectionTrapez, StructureType, Session } from "../../src"; import { SectionParametree } from "../../src/section/section_parametree"; import { Dever, DeverParams } from "../../src/structure/dever"; /** * 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"; let nub1: Dever; let nub2: SectionParametree; let prm2: ParamsSectionTrapez; /** * crée l'environnement de test. * répété à chaque test car il manque un mock de beforeEach */ function createEnv() { // Nub maître const prms1 = new DeverParams(0.5, 102, 10, 99); prms1.Pr.v = 0.01; nub1 = new Dever(prms1); nub1.addStructure( CreateStructure( StructureType.SeuilRectangulaire, LoiDebit.WeirFree, nub1, false ) ); // Nub esclave const prmsS = new ParamsSectionTrapez(1, 0.5, 1, 0.01, 1, 0.01, 2); prmsS.Pr.v = 0.01; nub2 = new SectionParametree(new cSnTrapez(prmsS)); prm2 = nub2.prms as ParamsSectionTrapez; Session.getInstance().clear(); Session.getInstance().registerNub(nub1); Session.getInstance().registerNub(nub2); } describe("référence d'un paramètre à un autre : ", () => { describe("résultat complémentaire : ", () => { it("test 1", () => { // cas de figure : // nub2.Q est lié au résultat complémentaire CvQT de nub1 // lecture de nub2.Q createEnv(); prm2.Q.v = 0; // valeur esclave, doit être masquée par la valeur maître (cad prm1.CvQT) prm2.Q.defineReference(nub1, "CvQT"); nub2.CalcSerie(); expect(prm2.Q.v).toBeCloseTo(10.106); }); }); });