diff --git a/spec/iterator/named_iterable_value.spec.ts b/spec/iterator/named_iterable_value.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..a3e68602f5c98c547b451fc553e18d0f25a424b1 --- /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(); + }); + }); +});