Commit bc2933e7 authored by Dorchies David's avatar Dorchies David
Browse files

#206 Add speed in Uniform flow bug test

parent bdf67e7a
......@@ -5,75 +5,42 @@ import { SessionSettings } from "../../../src/session_settings";
import { MessageCode } from "../../../src/util/message";
import { precDist } from "../../test_config";
import { checkResult } from "../../test_func";
import { acSection } from "../../../src/open-channel/section/section_type";
function generateRectangularSection(): cSnRectang {
const prms = new ParamsSectionRectang(
0.8, // tirant d'eau
2.5, // largeur de fond
40, // Ks=Strickler
1.5676680, // Q=Débit
0.001, // If=pente du fond
1, // YB=hauteur de berge
);
return new cSnRectang(prms, false);
}
function generateRegimeUniforme(sect: acSection): RegimeUniforme {
return new RegimeUniforme(sect, false);
}
let ruRect1 = generateRegimeUniforme(generateRectangularSection());
describe("Class RegimeUniforme / section rectangulaire :", () => {
describe("pas de débordement : ", () => {
/**
* test de la largeur de fond (= largeur de berge pour le rectangulaire)
*/
it("LargeurBerge should be 2.5", () => {
const prms = new ParamsSectionRectang(0.8, // tirant d'eau
undefined, // largeur de fond
40, // Ks=Strickler
1.568, // Q=Débit
0.001, // If=pente du fond
1, // YB=hauteur de berge
);
SessionSettings.precision = precDist;
const sect = new cSnRectang(prms, false);
const ru = new RegimeUniforme(sect, false);
checkResult(ru.Calc("LargeurBerge", 0), 2.5);
});
it("Strickler should be 30.619", () => {
const prms = new ParamsSectionRectang(0.8, // tirant d'eau
2.5, // largeur de fond
undefined, // Ks=Strickler
1.2, // Q=Débit
0.001, // If=pente du fond
1, // YB=hauteur de berge
);
SessionSettings.precision = precDist;
const sect = new cSnRectang(prms);
const ru = new RegimeUniforme(sect);
checkResult(ru.Calc("Ks", 1e-8), 30.619);
});
it("If should be 0.001", () => {
const prms = new ParamsSectionRectang(0.8, // tirant d'eau
2.5, // largeur de fond
40, // Ks=Strickler
1.568, // Q=Débit
undefined, // If=pente du fond
1, // YB=hauteur de berge
);
SessionSettings.precision = precDist;
const sect = new cSnRectang(prms);
const ru = new RegimeUniforme(sect, false);
// nom variable à calculer, valeur de Ks
checkResult(ru.Calc("If", 0.001), 0.001);
});
it("Q should be 1.568", () => {
const prms = new ParamsSectionRectang(0.8, // tirant d'eau
2.5, // largeur de fond
40, // Ks=Strickler
undefined, // Q=Débit
0.001, // If=pente du fond
1, // YB=hauteur de berge
);
SessionSettings.precision = precDist;
const sect = new cSnRectang(prms);
const ru = new RegimeUniforme(sect);
checkResult(ru.Calc("Q", 0), 1.568);
});
fdescribe("pas de débordement : ", () => {
beforeEach(() => {
ruRect1 = generateRegimeUniforme(generateRectangularSection());
SessionSettings.precision = 1E-7;
})
for (const p of ruRect1.calculableParameters) {
it(`${p.symbol} should be ${p.singleValue}`, () => {
const ref: number = p.singleValue;
p.singleValue = undefined;
p.initValue = 1e-8;
ruRect1.calculatedParam = p;
checkResult(ruRect1.CalcSerie(), ref);
expect(ruRect1.result.values.V).toBeCloseTo(0.784, 3);
});
}
it("Q should be 0.731", () => {
const prms = new ParamsSectionRectang(1.1, // tirant d'eau
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment