regime_uniforme_rect.spec.ts 4.73 KiB
/// <reference path="../node_modules/@types/jasmine/index.d.ts" />
import { Result } from "../src/base";
import { RegimeUniforme } from "../src/regime_uniforme";
import { cSnRectang } from "../src/section/section_rectang";
import { cParamsCanal } from "../src/section/section_type";
import { precDigits, precDist } from "./nubtest";
describe('Class RegimeUniforme / section rectangulaire : ', () => {
    // beforeAll(() => {
    // });
    describe('Calc(): ', () => {
        /**
         * test de la largeur de fond (= largeur de berge pour le rectangulaire)
        it('LargeurBerge should be 2.5', () => {
            let paramCnl = new cParamsCanal(40, //  Ks=Strickler
                1.568, // Q=Débit
                0.001, // If=pente du fond
                precDist, // précision
                1 // YB=hauteur de berge
                // YCL=Condition limite en cote à l'amont ou à l'aval
            let sect = new cSnRectang(undefined, paramCnl,
                0, // largeur de fond
                false);
            // tirant d'eau
            sect.v.Y = 0.8;
            let ru = new RegimeUniforme(sect, false);
            expect(ru.Calc("LargeurBerge").vCalc).toBeCloseTo(2.5, precDigits);
        });
        it('Strickler should be 30.618', () => {
            let prmsCanal = new cParamsCanal(40, //  Ks=Strickler
                1.2, // Q=Débit
                0.001, // If=pente du fond
                precDist, // précision
                1 // YB=hauteur de berge
                // YCL=Condition limite en cote à l'amont ou à l'aval
            let sect = new cSnRectang(undefined, prmsCanal,
                2.5 // largeur de fond
            // tirant d'eau
            sect.v.Y = 0.8;
            let ru = new RegimeUniforme(sect);
            // nom variable à calculer, valeur de Ks
            expect(ru.Calc("Ks").vCalc).toBeCloseTo(30.618, precDigits);
        });
        it('If should be 0.001', () => {
            let prmsCanal = new cParamsCanal(40, //  Ks=Strickler
                1.568, // Q=Débit
                0, // If=pente du fond
                precDist, // précision
                1 // YB=hauteur de berge
                // YCL=Condition limite en cote à l'amont ou à l'aval
            let sect = new cSnRectang(undefined, prmsCanal,
                2.5 // largeur de fond
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
// tirant d'eau sect.v.Y = 0.8; let ru = new RegimeUniforme(sect, false); // nom variable à calculer, valeur de Ks expect(ru.Calc("If", 0, precDist).vCalc).toBeCloseTo(0.001, precDigits); }); it('Q should be 1.568', () => { let prmsCanal = new cParamsCanal(40, // Ks=Strickler 0, // Q=Débit 0.001, // If=pente du fond precDist, // précision 1 // YB=hauteur de berge // YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnRectang(undefined, prmsCanal, 2.5 // largeur de fond ); // tirant d'eau sect.v.Y = 0.8; let ru = new RegimeUniforme(sect); // nom variable à calculer, valeur de Q expect(ru.Calc("Q").vCalc).toBeCloseTo(1.568, precDigits); }); it('Q should be 0.731', () => { let prmsCanal = new cParamsCanal(30, // Ks=Strickler 0, // Q=Débit 0.0001, // If=pente du fond precDist, // précision 1.2 // YB=hauteur de berge // YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnRectang(undefined, prmsCanal, 3 // largeur de fond ); // tirant d'eau sect.v.Y = 1.1; let ru = new RegimeUniforme(sect); // nom variable à calculer, valeur de Q expect(ru.Calc("Q").vCalc).toBeCloseTo(0.731, precDigits); }); it('Y should be 0.663', () => { let prmsCanal = new cParamsCanal(40, // Ks=Strickler 1.2, // Q=Débit 0.001, // If=pente du fond precDist, // précision 1 // YB=hauteur de berge // YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnRectang(undefined, prmsCanal, 2.5 // largeur de fond ); // tirant d'eau sect.v.Y = 0; let ru = new RegimeUniforme(sect); // nom variable à calculer, valeur de Ks expect(ru.Calc("Y").vCalc).toBeCloseTo(0.663, precDigits);
141142143144
}); }); });