From fa66e4a37aa2e03b7908bcdecab28a819e758b7e Mon Sep 17 00:00:00 2001 From: "francois.grand" <francois.grand@irstea.fr> Date: Thu, 1 Jun 2017 16:35:08 +0200 Subject: [PATCH] =?UTF-8?q?tests=20unitaires=20r=C3=A9gime=20uniforme/sect?= =?UTF-8?q?ion=20puissance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/regime_uniforme_puissance.spec.ts | 141 +++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 spec/regime_uniforme_puissance.spec.ts diff --git a/spec/regime_uniforme_puissance.spec.ts b/spec/regime_uniforme_puissance.spec.ts new file mode 100644 index 00000000..8363d83a --- /dev/null +++ b/spec/regime_uniforme_puissance.spec.ts @@ -0,0 +1,141 @@ +/// <reference path="../node_modules/@types/jasmine/index.d.ts" /> + +import { Result } from "../src/base"; +import { RegimeUniforme } from "../src/regime_uniforme"; +import { cSnPuiss } from "../src/section/section_puissance"; +import { cParamsCanal } from "../src/section/section_type"; +import { precDigits, precDist } from "./nubtest"; + +describe('Class RegimeUniforme / section puissance: ', () => { + beforeAll(() => { + }); + + describe('Calc(): ', () => { + it('k should be 0.635', () => { + let paramCnl = 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 cSnPuiss(undefined, paramCnl, + 0, // coef + 4 // largeur de berge + ); + // tirant d'eau + sect.v.Y = 0.8; + + let ru = new RegimeUniforme(sect, false); + + expect(ru.Calc("k").vCalc).toBeCloseTo(0.635, precDigits); + }); + + it('LargeurBerge should be 3.474', () => { + let paramCnl = 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 cSnPuiss(undefined, paramCnl, + 0.5, // coef + 0 // largeur de berge + ); + // tirant d'eau + sect.v.Y = 0.8; + + let ru = new RegimeUniforme(sect, false); + + expect(ru.Calc("LargeurBerge").vCalc).toBeCloseTo(3.474, 2); + }); + + it('Strickler should be 33.774', () => { + let paramCnl = new cParamsCanal(0, // 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 cSnPuiss(undefined, paramCnl, + 0.5, // coef + 4 // largeur de berge + ); + // tirant d'eau + sect.v.Y = 0.8; + + let ru = new RegimeUniforme(sect, false); + + expect(ru.Calc("Ks").vCalc).toBeCloseTo(33.774, 2); + }); + + + it('If should be 0.002', () => { + let paramCnl = new cParamsCanal(40, // Ks=Strickler + 1.2, // 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 cSnPuiss(undefined, paramCnl, + 0.5, // coef + 4 // largeur de berge + ); + // tirant d'eau + sect.v.Y = 0.8; + + let ru = new RegimeUniforme(sect, false); + + expect(ru.Calc("If").vCalc).toBeCloseTo(0.002, 2); + }); + + it('Q should be 1.421', () => { + let paramCnl = 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 cSnPuiss(undefined, paramCnl, + 0.5, // coef + 4 // largeur de berge + ); + // tirant d'eau + sect.v.Y = 0.8; + + let ru = new RegimeUniforme(sect, false); + + expect(ru.Calc("Q").vCalc).toBeCloseTo(1.421, precDigits); + }); + + it('Y should be 0.742', () => { + let paramCnl = 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 cSnPuiss(undefined, paramCnl, + 0.5, // coef + 4 // largeur de berge + ); + // tirant d'eau + sect.v.Y = 0; + + let ru = new RegimeUniforme(sect, false); + + expect(ru.Calc("Y").vCalc).toBeCloseTo(0.742, precDigits); + }); + }); +}); -- GitLab