regime_uniforme_circ.spec.ts 5.72 KiB
/// <reference path="../node_modules/@types/jasmine/index.d.ts" />
import { Result } from "../src/base";
import { RegimeUniforme } from "../src/regime_uniforme";
import { ParamsSectionCirc, cSnCirc } from "../src/section/section_circulaire";
import { precDist, equalEpsilon } from "./nubtest";
function check(val1: Result, val2: number) {
    // expect(val1).toBeCloseTo(val2);
    expect(equalEpsilon(val1.vCalc, val2)).toBeTruthy("expected " + val2 + ", got " + val1.vCalc);
describe('Class RegimeUniforme / section circulaire :', () => {
    describe('pas de débordement : ', () => {
        it('Diamètre should be 6.001', () => {
            let paramSect = new ParamsSectionCirc(undefined, // diamètre
                0.6613,  // tirant d'eau
                40, //  Ks=Strickler
                1.2,  //  Q=Débit
                0.001, //  If=pente du fond
                precDist, // précision
                1 // YB= hauteur de berge
            let sect = new cSnCirc(paramSect);
            let ru = new RegimeUniforme(sect);
            check(ru.Calc("D", 1e-8), 6.001);
        });
        it('Ks should be 40.003', () => {
            let paramSection = new ParamsSectionCirc(6, // diamètre
                0.6613, // tirant d'eau
                undefined, //  Ks=Strickler
                1.2,  //  Q=Débit
                0.001, //  If=pente du fond
                precDist, // précision
                1 // YB= hauteur de berge
            let sect = new cSnCirc(paramSection);
            let ru = new RegimeUniforme(sect);
            check(ru.Calc("Ks", 1e-8), 40.003);
        });
        it('If should be 0.001', () => {
            let paramSection = new ParamsSectionCirc(6, // diamètre
                0.6613, // tirant d'eau
                40, //  Ks=Strickler
                1.2,  //  Q=Débit
                undefined, //  If=pente du fond
                precDist, // précision
                1 // YB= hauteur de berge
            let sect = new cSnCirc(paramSection);
            let ru = new RegimeUniforme(sect);
            check(ru.Calc("If"), 0.001);
        });
        it('Q should be 1.2', () => {
            let paramSection = new ParamsSectionCirc(6, // diamètre
                0.6613, // tirant d'eau
                40, //  Ks=Strickler
                undefined,  //  Q=Débit
                0.001, //  If=pente du fond
                precDist, // précision
                1 // YB= hauteur de berge