From e9478cdcc805e96f02cd181291329c8c77449279 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Thu, 1 Jun 2017 16:05:38 +0200
Subject: [PATCH] =?UTF-8?q?compl=C3=A9tion=20des=20tests=20sur=20toutes=20?=
 =?UTF-8?q?les=20variables?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 spec/regime_uniforme_trapeze.spec.ts | 100 ++++++++++++++++++++++++---
 1 file changed, 92 insertions(+), 8 deletions(-)

diff --git a/spec/regime_uniforme_trapeze.spec.ts b/spec/regime_uniforme_trapeze.spec.ts
index f4f94204..0e7d1edb 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);
         });
     });
 });
-- 
GitLab