From d149a882c4ef587902a4755d5d770365abd7eb59 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Wed, 27 Jun 2018 11:56:20 +0200
Subject: [PATCH] =?UTF-8?q?=20#45=20ajout=20de=20tests=20unitaires=20pour?=
 =?UTF-8?q?=20les=20classes=20impl=C3=A9mentant=20NamedIterableValues?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 spec/iterator/named_iterable_value.spec.ts | 134 +++++++++++++++++++++
 1 file changed, 134 insertions(+)
 create mode 100644 spec/iterator/named_iterable_value.spec.ts

diff --git a/spec/iterator/named_iterable_value.spec.ts b/spec/iterator/named_iterable_value.spec.ts
new file mode 100644
index 00000000..a3e68602
--- /dev/null
+++ b/spec/iterator/named_iterable_value.spec.ts
@@ -0,0 +1,134 @@
+import { ExtraResults, Result, ResultElement, BaseParam, ParamDomainValue } from "../../src";
+
+/**
+ * IMPORTANT !
+ * Décommenter temporairement la ligne suivante (import { } from "./mock_jasmine")
+ * Pour exécuter ce code dans le débugger.
+ * Faire de même avec le fichier test_func.ts
+ */
+// import { describe, expect, it, xdescribe, xit } from "../mock_jasmine";
+
+function testBaseParamValues(vals: number[]): BaseParam {
+    const p: BaseParam = new BaseParam("aa", ParamDomainValue.ANY);
+
+    p.paramValues.setValues(vals);
+
+    let n = 0;
+    for (const v of p.valuesIterator)
+        expect(v).toEqual(vals[n++]);
+
+    expect(n).toEqual(vals.length);
+
+    return p;
+}
+
+function testResultValues(vals: number[]): Result {
+    const r: Result = new Result();
+
+    for (const v of vals)
+        r.addResultElement(new ResultElement(v));
+
+    let n = 0;
+    for (const v of r.valuesIterator)
+        expect(v).toEqual(vals[n++]);
+
+    expect(n).toEqual(vals.length);
+
+    return r;
+}
+
+function testExtraResultsValues(vals: number[]): ExtraResults {
+    const ers: ExtraResults = new ExtraResults("aa");
+
+    for (const v of vals)
+        ers.addValue(v);
+
+    let n = 0;
+    for (const v of ers.valuesIterator)
+        expect(v).toEqual(vals[n++]);
+
+    expect(n).toEqual(vals.length);
+
+    return ers;
+}
+
+describe("NamedIterableValues  : ", () => {
+    describe("BaseParam  : ", () => {
+        it("test 1", () => {
+            const name = "aa";
+            const p: BaseParam = new BaseParam(name, ParamDomainValue.ANY);
+            expect(p.name).toEqual(name);
+        });
+
+        it("test 2", () => {
+            const vals: number[] = [];
+            const p = testBaseParamValues(vals);
+            expect(p.hasMultipleValues).toBeFalsy();
+        });
+
+        it("test 3", () => {
+            const vals: number[] = [0];
+            const p = testBaseParamValues(vals);
+            expect(p.hasMultipleValues).toBeFalsy();
+        });
+
+        it("test 4", () => {
+            const vals: number[] = [0, 1];
+            const p = testBaseParamValues(vals);
+            expect(p.hasMultipleValues).toBeTruthy();
+        });
+    });
+
+    describe("Result  : ", () => {
+        it("test 1", () => {
+            const name = "aa";
+            const r: Result = new Result(0);
+            r.name = name;
+            expect(r.name).toEqual(name);
+        });
+
+        it("test 2", () => {
+            const vals: number[] = [];
+            const r = testResultValues(vals);
+            expect(r.hasMultipleValues).toBeFalsy();
+        });
+
+        it("test 3", () => {
+            const vals: number[] = [0];
+            const r = testResultValues(vals);
+            expect(r.hasMultipleValues).toBeFalsy();
+        });
+
+        it("test 3", () => {
+            const vals: number[] = [0, 1];
+            const r = testResultValues(vals);
+            expect(r.hasMultipleValues).toBeTruthy();
+        });
+    });
+
+    describe("ExtraResults  : ", () => {
+        it("test 1", () => {
+            const name = "aa";
+            const ers: ExtraResults = new ExtraResults(name);
+            expect(ers.name).toEqual(name);
+        });
+
+        it("test 2", () => {
+            const vals: number[] = [];
+            const ers = testExtraResultsValues(vals);
+            expect(ers.hasMultipleValues).toBeFalsy();
+        });
+
+        it("test 3", () => {
+            const vals: number[] = [0];
+            const ers = testExtraResultsValues(vals);
+            expect(ers.hasMultipleValues).toBeFalsy();
+        });
+
+        it("test 4", () => {
+            const vals: number[] = [0, 1];
+            const ers = testExtraResultsValues(vals);
+            expect(ers.hasMultipleValues).toBeTruthy();
+        });
+    });
+});
-- 
GitLab