diff --git a/spec/regime_uniforme_trapeze.spec.ts b/spec/regime_uniforme_trapeze.spec.ts index f4f94204103f67c5a33d396181840f4f04cb82d3..0e7d1edb3f9a2384c91826032d5082bcace9d0b1 100644 --- a/spec/regime_uniforme_trapeze.spec.ts +++ b/spec/regime_uniforme_trapeze.spec.ts @@ -11,7 +11,91 @@ describe('Class RegimeUniforme / section trapèze: ', () => { }); describe('Calc(): ', () => { - it('Q should be 1.988', () => { + it('LargeurFond should be 2.5', () => { + let paramCnl = new cParamsCanal(40, // Ks=Strickler + 1.988428, // 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 cSnTrapez(undefined, paramCnl, + 0, // largeur de fond + 0.56 // fruit + ); + // tirant d'eau + sect.v.Y = 0.8; + + let ru = new RegimeUniforme(sect, false); + + expect(ru.Calc("LargeurFond", 0, precDist).vCalc).toBeCloseTo(2.5, precDigits); + }); + + it('Fruit should be 0.56', () => { + 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 cSnTrapez(undefined, paramCnl, + 2.5, // largeur de fond + 0 // fruit + ); + // tirant d'eau + sect.v.Y = 0.587; + + let ru = new RegimeUniforme(sect); + + expect(ru.Calc("Fruit").vCalc).toBeCloseTo(0.56, precDigits); + }); + + it('Ks should be 24.14', () => { + 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 cSnTrapez(undefined, paramCnl, + 2.5, // largeur de fond + 0.56 // fruit + ); + // tirant d'eau + sect.v.Y = 0.8; + + let ru = new RegimeUniforme(sect); + + expect(ru.Calc("Ks").vCalc).toBeCloseTo(24.14, precDigits); + }); + + it('If should be 0.001', () => { + 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 cSnTrapez(undefined, paramCnl, + 2.5, // largeur de fond + 0.56 // fruit + ); + // tirant d'eau + sect.v.Y = 0.587; + + let ru = new RegimeUniforme(sect); + + expect(ru.Calc("If").vCalc).toBeCloseTo(0.001, precDigits); + }); + + it('Q should be 1.2', () => { let paramCnl = new cParamsCanal(40, // Ks=Strickler 0, // Q=Débit 0.001, // If=pente du fond @@ -25,14 +109,14 @@ describe('Class RegimeUniforme / section trapèze: ', () => { 0.56 // fruit ); // tirant d'eau - sect.v.Y = 0.8; + sect.v.Y = 0.587; let ru = new RegimeUniforme(sect); - expect(ru.Calc("Q").vCalc).toBeCloseTo(1.988, precDigits); + expect(ru.Calc("Q").vCalc).toBeCloseTo(1.2, precDigits); }); - it('LargeurFond should be 1.516', () => { + it('Y should be 0.587', () => { let paramCnl = new cParamsCanal(40, // Ks=Strickler 1.2, // Q=Débit 0.001, // If=pente du fond @@ -42,15 +126,15 @@ describe('Class RegimeUniforme / section trapèze: ', () => { ); let sect = new cSnTrapez(undefined, paramCnl, - 0, // largeur de fond - 0.56 // fruit + 2.5, // largeur de fond + 0.56 // fruit ); // tirant d'eau - sect.v.Y = 0.8; + sect.v.Y = 0; let ru = new RegimeUniforme(sect); - expect(ru.Calc("LargeurFond").vCalc).toBeCloseTo(1.516, precDigits); + expect(ru.Calc("Y").vCalc).toBeCloseTo(0.587, precDigits); }); }); });