Commit 82ae2e74 authored by Mathias Chouet's avatar Mathias Chouet :spaghetti:
Browse files

Added jalhyd tests for linked multiple variated params

Showing with 185 additions and 42 deletions
+185 -42
import { CreateStructure, ExtensionStrategy, LoiDebit, ParallelStructure, ParallelStructureParams, import { CreateStructure, ExtensionStrategy, LoiDebit, ParallelStructure, ParallelStructureParams,
ParamValueMode, Structure} from "../../src/index"; ParamValueMode, Structure, Session} from "../../src/index";
import { RectangularStructureParams } from "../../src/structure/structure_cem88d"; import { RectangularStructureParams } from "../../src/structure/structure_cem88d";
let prms1: ParallelStructureParams; let prms1: ParallelStructureParams;
let nub1: ParallelStructure; let nub1: ParallelStructure;
let struct1: Structure; let struct1: Structure;
let prmsStruct: RectangularStructureParams; let prmsStruct1: RectangularStructureParams;
let prms2: ParallelStructureParams;
let nub2: ParallelStructure;
let struct2: Structure;
let prmsStruct2: RectangularStructureParams;
function createSingleNubEnv() { function createSingleNubEnv() {
prms1 = new ParallelStructureParams(0.5, 102, 101.5); prms1 = new ParallelStructureParams(0.5, 102, 101.5);
nub1 = new ParallelStructure(prms1); nub1 = new ParallelStructure(prms1);
struct1 = CreateStructure(LoiDebit.Cunge80, nub1); struct1 = CreateStructure(LoiDebit.Cunge80, nub1);
prmsStruct = struct1.prms as RectangularStructureParams; prmsStruct1 = struct1.prms as RectangularStructureParams;
nub1.addChild(struct1); nub1.addChild(struct1);
} }
function createLinkedNubEnv() { function createLinkedNubEnv() {
// TODO prms1 = new ParallelStructureParams(0.5, 102, 101.5);
nub1 = new ParallelStructure(prms1);
struct1 = CreateStructure(LoiDebit.Cunge80, nub1);
prmsStruct1 = struct1.prms as RectangularStructureParams;
nub1.addChild(struct1);
prms2 = new ParallelStructureParams(0.5, 102, 101.5);
nub2 = new ParallelStructure(prms2);
struct2 = CreateStructure(LoiDebit.Cunge80, nub2);
prmsStruct2 = struct2.prms as RectangularStructureParams;
nub2.addChild(struct2);
Session.getInstance().clear();
Session.getInstance().registerNub(nub1);
Session.getInstance().registerNub(nub2);
prms2.Z1.defineReference(nub1, "Z1");
prmsStruct2.L.defineReference(struct1, "L");
} }
/** /**
...@@ -52,11 +74,11 @@ describe("multiple variated parameters - ", () => { ...@@ -52,11 +74,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -67,11 +89,11 @@ describe("multiple variated parameters - ", () => { ...@@ -67,11 +89,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct.L.setValues(1.89, 2.1, 0.03); // 8 values prmsStruct1.L.setValues(1.89, 2.1, 0.03); // 8 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.MINMAX); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.MINMAX);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -82,11 +104,11 @@ describe("multiple variated parameters - ", () => { ...@@ -82,11 +104,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.1); // 21 values prms1.Z1.setValues(100, 102, 0.1); // 21 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -97,11 +119,11 @@ describe("multiple variated parameters - ", () => { ...@@ -97,11 +119,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues([ 100, 101, 102 ]); // 3 values prms1.Z1.setValues([ 100, 101, 102 ]); // 3 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE); expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -112,11 +134,11 @@ describe("multiple variated parameters - ", () => { ...@@ -112,11 +134,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues([ 100, 100.3, 100.7, 101, 101.3, 101.7, 102, 102.3, 115 ]); // 9 values prms1.Z1.setValues([ 100, 100.3, 100.7, 101, 101.3, 101.7, 102, 102.3, 115 ]); // 9 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE); expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -127,11 +149,11 @@ describe("multiple variated parameters - ", () => { ...@@ -127,11 +149,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct.L.setValues(1.89, 2.15, 0.06); // 5 values prmsStruct1.L.setValues(1.89, 2.15, 0.06); // 5 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST; prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.MINMAX); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.MINMAX);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -175,11 +197,11 @@ describe("multiple variated parameters - ", () => { ...@@ -175,11 +197,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE; prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.RECYCLE; prmsStruct1.L.extensionStrategy = ExtensionStrategy.RECYCLE;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -190,11 +212,11 @@ describe("multiple variated parameters - ", () => { ...@@ -190,11 +212,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE; prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE;
prmsStruct.L.setValues(1.89, 2.1, 0.03); // 8 values prmsStruct1.L.setValues(1.89, 2.1, 0.03); // 8 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.RECYCLE; prmsStruct1.L.extensionStrategy = ExtensionStrategy.RECYCLE;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.MINMAX); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.MINMAX);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -205,11 +227,11 @@ describe("multiple variated parameters - ", () => { ...@@ -205,11 +227,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.1); // 21 values prms1.Z1.setValues(100, 102, 0.1); // 21 values
prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE; prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.RECYCLE; prmsStruct1.L.extensionStrategy = ExtensionStrategy.RECYCLE;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -220,11 +242,11 @@ describe("multiple variated parameters - ", () => { ...@@ -220,11 +242,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues([ 100, 101, 102 ]); // 3 values prms1.Z1.setValues([ 100, 101, 102 ]); // 3 values
prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE; prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.RECYCLE; prmsStruct1.L.extensionStrategy = ExtensionStrategy.RECYCLE;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE); expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -235,11 +257,11 @@ describe("multiple variated parameters - ", () => { ...@@ -235,11 +257,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues([ 100, 100.3, 100.7, 101, 101.3, 101.7, 102, 102.3, 115 ]); // 9 values prms1.Z1.setValues([ 100, 100.3, 100.7, 101, 101.3, 101.7, 102, 102.3, 115 ]); // 9 values
prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE; prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE;
prmsStruct.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.RECYCLE; prmsStruct1.L.extensionStrategy = ExtensionStrategy.RECYCLE;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE); expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.LISTE); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -250,11 +272,11 @@ describe("multiple variated parameters - ", () => { ...@@ -250,11 +272,11 @@ describe("multiple variated parameters - ", () => {
createSingleNubEnv(); createSingleNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE; prms1.Z1.extensionStrategy = ExtensionStrategy.RECYCLE;
prmsStruct.L.setValues(1.89, 2.15, 0.06); // 5 values prmsStruct1.L.setValues(1.89, 2.15, 0.06); // 5 values
prmsStruct.L.extensionStrategy = ExtensionStrategy.RECYCLE; prmsStruct1.L.extensionStrategy = ExtensionStrategy.RECYCLE;
// check that both parameters are varying // check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX); expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct.L.valueMode).toBe(ParamValueMode.MINMAX); expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.MINMAX);
// check that calculation works // check that calculation works
const res = nub1.CalcSerie(); const res = nub1.CalcSerie();
expect(res).toBeDefined(); expect(res).toBeDefined();
...@@ -292,7 +314,128 @@ describe("multiple variated parameters - ", () => { ...@@ -292,7 +314,128 @@ describe("multiple variated parameters - ", () => {
}); });
}); });
describe("on different linked Nubs - ", () => { describe("on different linked Nubs, with REPEAT_LAST strategy - ", () => {
// TODO
it("test 1 : minmax < list", () => {
createLinkedNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works
const res = nub2.CalcSerie();
expect(res).toBeDefined();
expect(res.resultElements.length).toBe(9);
});
it("test 2 : minmax < minmax", () => {
createLinkedNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct1.L.setValues(1.89, 2.1, 0.03); // 8 values
prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.MINMAX);
// check that calculation works
const res = nub2.CalcSerie();
expect(res).toBeDefined();
expect(res.resultElements.length).toBe(8);
});
it("test 3 : list < minmax", () => {
createLinkedNubEnv();
prms1.Z1.setValues(100, 102, 0.1); // 21 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works
const res = nub2.CalcSerie();
expect(res).toBeDefined();
expect(res.resultElements.length).toBe(21);
});
it("test 4 : list < list", () => {
createLinkedNubEnv();
prms1.Z1.setValues([ 100, 101, 102 ]); // 3 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE);
expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works
const res = nub2.CalcSerie();
expect(res).toBeDefined();
expect(res.resultElements.length).toBe(9);
});
it("test 5 : list = list", () => {
createLinkedNubEnv();
prms1.Z1.setValues([ 100, 100.3, 100.7, 101, 101.3, 101.7, 102, 102.3, 115 ]); // 9 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct1.L.setValues([ 1.89, 1.91, 1.99, 2, 1.7, 2.1, 2.18, 2.23, 2.6 ]); // 9 values
prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.LISTE);
expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.LISTE);
// check that calculation works
const res = nub2.CalcSerie();
expect(res).toBeDefined();
expect(res.resultElements.length).toBe(9);
});
it("test 6 : list = minmax", () => {
createLinkedNubEnv();
prms1.Z1.setValues(100, 102, 0.5); // 5 values
prms1.Z1.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
prmsStruct1.L.setValues(1.89, 2.15, 0.06); // 5 values
prmsStruct1.L.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
// check that both parameters are varying
expect(prms1.Z1.valueMode).toBe(ParamValueMode.MINMAX);
expect(prmsStruct1.L.valueMode).toBe(ParamValueMode.MINMAX);
// check that calculation works
const res = nub2.CalcSerie();
expect(res).toBeDefined();
expect(res.resultElements.length).toBe(5);
});
it("test 7 : all parameters varying with random lengths", () => {
createLinkedNubEnv();
let longest = 0;
let sparedParam = null;
// set all parameters to LIST mode with random length (except the first that has to stay in CALC mode)
for (const p of nub2.parameterIterator) {
if (p.visible) {
if (! sparedParam) {
sparedParam = p;
nub2.calculatedParam = p;
} else {
if (p.valueMode !== ParamValueMode.LINK) {
const rl = randomList(p.singleValue);
longest = Math.max(longest, rl.length);
p.setValues(rl);
p.extensionStrategy = ExtensionStrategy.REPEAT_LAST;
}
}
}
}
// check that all parameters are varying
for (const p of nub2.parameterIterator) {
if (p.visible && p !== sparedParam && p.valueMode !== ParamValueMode.LINK) {
expect(p.hasMultipleValues).toBe(true);
}
}
// check that calculation works and length of result is length of the longest values list
const res = nub2.CalcSerie();
expect(res).toBeDefined();
expect(res.resultElements.length).toBe(longest);
});
}); });
}); });
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment