diff --git a/spec/structure/structure_vanlev.spec.ts b/spec/structure/structure_vanlev.spec.ts
index 54eaee2c453b300c0758c40a1837f4c23c9b29db..b46e64fda01bc59c993dc9af1b5090a9dcd87e9a 100644
--- a/spec/structure/structure_vanlev.spec.ts
+++ b/spec/structure/structure_vanlev.spec.ts
@@ -1,19 +1,61 @@
-import { RectangularStructureParams } from "../../src/structure/rectangular_structure_params";
 import { StructureVanLevLarinier, StructureVanLevParams } from "../../src/structure/structure_vanlev";
 import { StructureVanLevVillemonte } from "../../src/structure/structure_vanlev";
+import { MessageCode } from "../../src/util/message";
 
-function getStructTest(bFente: boolean = false): StructureVanLevLarinier | StructureVanLevVillemonte {
-    const structPrm = new StructureVanLevParams(0.773, 73, 75.090, 74.86, 0.6, 0.4, 0.217, 73.5, 74);
-    if (bFente) {
-        return new StructureVanLevLarinier(structPrm, false);
-    } else {
-        return new StructureVanLevVillemonte(structPrm, false);
-    }
-}
-
+let vlv: StructureVanLevVillemonte;
 describe("class StructureVanLevVillemonte", () => {
+    beforeEach( () => {
+        vlv = new StructureVanLevVillemonte(
+            new StructureVanLevParams(0.773, 73, 75.090, 74.86, 0.6, 0.4, 0.217, 73.5, 74)
+            , false);
+    });
     it("Calc(Z1) should return 75.077 and extraResults.ZDV should be 73.95", () => {
-        expect(getStructTest().Calc("Z1").vCalc).toBeCloseTo(75.077, 3);
-        expect(getStructTest().Calc("Z1").extraResults.ZDV).toBeCloseTo(73.95, 2);
+        expect(vlv.Calc("Z1").vCalc).toBeCloseTo(75.077, 3);
+        expect(vlv.Calc("Z1").extraResults.ZDV).toBeCloseTo(73.95, 2);
+    });
+    it("ZDV min bound Calc(Z1) should return 75.059 and extraResults.ZDV should be 73.9", () => {
+        const s = vlv;
+        s.prms.maxZDV.v = 73.90;
+        const r = s.Calc("Z1");
+        expect(r.vCalc).toBeCloseTo(75.059, 3);
+        expect(r.extraResults.ZDV).toBeCloseTo(73.9, 2);
+        expect(r.log.messages[0].code).toBe(MessageCode.WARNING_VANLEV_ZDV_SUP_MAX);
+    });
+    it("ZDV max bound Calc(Z1) should return 75.096 and extraResults.ZDV should be 74", () => {
+        const s = vlv;
+        s.prms.minZDV.v = 74;
+        const r = s.Calc("Z1");
+        expect(r.vCalc).toBeCloseTo(75.096, 3);
+        expect(r.extraResults.ZDV).toBeCloseTo(74, 2);
+        expect(r.log.messages[0].code).toBe(MessageCode.WARNING_VANLEV_ZDV_INF_MIN);
+    });
+});
+
+let vll: StructureVanLevLarinier;
+describe("class StructureVanLevLarinier", () => {
+    beforeEach( () => {
+        vll = new StructureVanLevLarinier(
+            new StructureVanLevParams(0.773, 73, 75.090, 74.86, 0.35, 0.65, 0.217, 73.3, 73.5)
+            , false);
+    });
+    it("Calc(Z1) should return 75.077 and extraResults.ZDV should be 73.431", () => {
+        expect(vll.Calc("Z1").vCalc).toBeCloseTo(75.077, 3);
+        expect(vll.Calc("Z1").extraResults.ZDV).toBeCloseTo(73.431, 2);
+    });
+    it("ZDV min bound Calc(Z1) should return 75.071 and extraResults.ZDV should be 73.4", () => {
+        const s = vll;
+        s.prms.maxZDV.v = 73.40;
+        const r = s.Calc("Z1");
+        expect(r.vCalc).toBeCloseTo(75.071, 3);
+        expect(r.extraResults.ZDV).toBeCloseTo(73.4, 2);
+        expect(r.log.messages[0].code).toBe(MessageCode.WARNING_VANLEV_ZDV_SUP_MAX);
+    });
+    it("ZDV max bound Calc(Z1) should return 75.092 and extraResults.ZDV should be 73.5", () => {
+        const s = vll;
+        s.prms.minZDV.v = 73.5;
+        const r = s.Calc("Z1");
+        expect(r.vCalc).toBeCloseTo(75.092, 3);
+        expect(r.extraResults.ZDV).toBeCloseTo(73.5, 2);
+        expect(r.log.messages[0].code).toBe(MessageCode.WARNING_VANLEV_ZDV_INF_MIN);
     });
 });
diff --git a/src/structure/structure_vanlev.ts b/src/structure/structure_vanlev.ts
index 609c561046a4f838562ea770ab0661474e386d24..8a80ca415d10e86662372973b94fd3ff936b571f 100644
--- a/src/structure/structure_vanlev.ts
+++ b/src/structure/structure_vanlev.ts
@@ -68,7 +68,7 @@ function CalcVanneLevante(
     const r2: Result = s.superCalc("Z1", rInit);
     r2.extraResults.ZDV = s.prms.ZDV.v;
     if (m !== undefined) {
-        r2.addMessage(m);
+        r2.resultElements[0].addMessage(m);
     }
     return r2;
 }