From afebfb962b7380dc11582eaa41808224f9a96aa5 Mon Sep 17 00:00:00 2001
From: stevereis <stevereis93@gmail.com>
Date: Tue, 1 Feb 2022 11:02:32 +0100
Subject: [PATCH] fix: Issue with tests (exareme algorithms)

---
 .../connectors/exareme/tests/e2e/3c.e2e-spec.ts    | 14 +++++++-------
 .../exareme/tests/e2e/calibration-belt.e2e-spec.ts | 10 +++++-----
 .../connectors/exareme/tests/e2e/cart.e2e-spec.ts  |  4 ++--
 .../tests/e2e/descriptiveStatistics.e2e-spec.ts    |  6 ++++++
 .../connectors/exareme/tests/e2e/id3.e2e-spec.ts   |  2 +-
 .../exareme/tests/e2e/k-means.e2e-spec.ts          |  8 ++++----
 .../exareme/tests/e2e/kaplan-meier.e2e-spec.ts     |  8 ++++----
 .../tests/e2e/linear-regression.e2e-spec.ts        | 13 +++++++++++--
 .../tests/e2e/logistic-regression.e2e-spec.ts      |  4 ++--
 .../tests/e2e/multiple-histograms.e2e-spec.ts      |  2 +-
 .../exareme/tests/e2e/naive-bayes.e2e-spec.ts      |  4 ++--
 .../connectors/exareme/tests/e2e/pca.e2e-spec.ts   |  4 ++--
 .../tests/e2e/pearson-correlation.e2e-spec.ts      |  4 ++--
 .../tests/e2e/t-test-independant.e2e-spec.ts       | 12 ++++++------
 .../tests/e2e/t-test-one-sample.e2e-spec.ts        | 10 +++++-----
 .../exareme/tests/e2e/t-test-paired.e2e-spec.ts    |  6 ++----
 .../exareme/tests/e2e/two-way-anova.e2e-spec.ts    | 10 +++++-----
 17 files changed, 67 insertions(+), 54 deletions(-)

diff --git a/api/src/engine/connectors/exareme/tests/e2e/3c.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/3c.e2e-spec.ts
index 26a9cc1..8770e90 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/3c.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/3c.e2e-spec.ts
@@ -39,13 +39,13 @@ describe('ExaremeService', () => {
       id: algorithmId,
       type: 'string',
       parameters: [
-        { id: 'dx', value: ['alzheimerbroadcategory'] },
-        { id: 'c2_feature_selection_method', value: ['RF'] },
-        { id: 'c2_num_clusters_method', value: ['Euclidean'] },
-        { id: 'c2_num_clusters', value: ['6'] },
-        { id: 'c2_clustering_method', value: ['Euclidean'] },
-        { id: 'c3_feature_selection_method', value: ['RF'] },
-        { id: 'c3_classification_method', value: ['RF'] },
+        { id: 'dx', value: 'alzheimerbroadcategory' },
+        { id: 'c2_feature_selection_method', value: 'RF' },
+        { id: 'c2_num_clusters_method', value: 'Euclidean' },
+        { id: 'c2_num_clusters', value: '6' },
+        { id: 'c2_clustering_method', value: 'Euclidean' },
+        { id: 'c3_feature_selection_method', value: 'RF' },
+        { id: 'c3_classification_method', value: 'RF' },
       ],
     },
     filter: '',
diff --git a/api/src/engine/connectors/exareme/tests/e2e/calibration-belt.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/calibration-belt.e2e-spec.ts
index 377b4ec..447b8f4 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/calibration-belt.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/calibration-belt.e2e-spec.ts
@@ -41,23 +41,23 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'devel',
-          value: ['external'],
+          value: 'external',
         },
         {
           id: 'max_deg',
-          value: ['4'],
+          value: '4',
         },
         {
           id: 'confLevels',
-          value: ['0.80,0.95'],
+          value: '0.80,0.95',
         },
         {
           id: 'thres',
-          value: ['0.95'],
+          value: '0.95',
         },
         {
           id: 'num_points',
-          value: ['200'],
+          value: '200',
         },
       ],
     },
diff --git a/api/src/engine/connectors/exareme/tests/e2e/cart.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/cart.e2e-spec.ts
index b6a10af..f8b0085 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/cart.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/cart.e2e-spec.ts
@@ -39,8 +39,8 @@ describe('ExaremeService', () => {
       id: algorithmId,
       type: 'string',
       parameters: [
-        { id: 'max_depth', value: ['3'] },
-        { id: 'no_split_points', value: ['10'] },
+        { id: 'max_depth', value: '3' },
+        { id: 'no_split_points', value: '10' },
       ],
     },
     filter: '',
diff --git a/api/src/engine/connectors/exareme/tests/e2e/descriptiveStatistics.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/descriptiveStatistics.e2e-spec.ts
index 96fb1c2..5808b15 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/descriptiveStatistics.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/descriptiveStatistics.e2e-spec.ts
@@ -41,6 +41,12 @@ describe('ExaremeService', () => {
       parameters: [],
     },
     filter: '',
+    transformations: [
+      {
+        id: 'lefthippocampus',
+        operation: 'standardize',
+      },
+    ],
   };
 
   describe('Integration Test for experiment API', () => {
diff --git a/api/src/engine/connectors/exareme/tests/e2e/id3.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/id3.e2e-spec.ts
index cd9d254..4ef963a 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/id3.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/id3.e2e-spec.ts
@@ -38,7 +38,7 @@ describe('ExaremeService', () => {
     algorithm: {
       id: algorithmId,
       type: 'string',
-      parameters: [{ id: 'iterations_max_number', value: ['20'] }],
+      parameters: [{ id: 'iterations_max_number', value: '20' }],
     },
     filter: '',
   };
diff --git a/api/src/engine/connectors/exareme/tests/e2e/k-means.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/k-means.e2e-spec.ts
index 5d810c8..5705472 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/k-means.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/k-means.e2e-spec.ts
@@ -41,15 +41,15 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'k',
-          value: ['4'],
+          value: '4',
         },
         {
           id: 'e',
-          value: ['1'],
+          value: '1',
         },
         {
           id: 'iterations_max_number',
-          value: ['1000'],
+          value: '1000',
         },
       ],
     },
@@ -77,7 +77,7 @@ describe('ExaremeService', () => {
       const data = experimentResult.results[0] as RawResult;
 
       expect(
-        data.rawdata['data'][0]['leftacgganteriorcingulategyrus'],
+        data.rawdata['data'][2]['leftacgganteriorcingulategyrus'],
       ).toBeCloseTo(4.197, 2);
     });
   });
diff --git a/api/src/engine/connectors/exareme/tests/e2e/kaplan-meier.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/kaplan-meier.e2e-spec.ts
index d3cdce6..b076616 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/kaplan-meier.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/kaplan-meier.e2e-spec.ts
@@ -40,19 +40,19 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'outcome_pos',
-          value: ['AD'],
+          value: 'AD',
         },
         {
           id: 'outcome_neg',
-          value: ['MCI'],
+          value: 'MCI',
         },
         {
           id: 'max_age',
-          value: ['100'],
+          value: '100',
         },
         {
           id: 'total_duration',
-          value: ['1100'],
+          value: '1100',
         },
       ],
     },
diff --git a/api/src/engine/connectors/exareme/tests/e2e/linear-regression.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/linear-regression.e2e-spec.ts
index fbb5ab6..4ed7f22 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/linear-regression.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/linear-regression.e2e-spec.ts
@@ -41,11 +41,16 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'referencevalues',
-          value: ['[{"name":"alzheimerbroadcategory","val":"Other"}]'],
+          value: '[{"name":"alzheimerbroadcategory","val":"Other"}]',
         },
         {
           id: 'encodingparameter',
-          value: ['dummycoding'],
+          value: 'dummycoding',
+        },
+        {
+          id: 'filter',
+          value:
+            '{"condition":"AND","rules":[{"id":"subjectageyears","field":"subjectageyears","type":"integer","input":"number","operator":"greater","value":"65"}],"valid":true}',
         },
       ],
     },
@@ -77,6 +82,10 @@ describe('ExaremeService', () => {
         0.986,
         3,
       );
+      expect(data.rawdata['data']['statistics'][0]['value']).toBeCloseTo(
+        -1.478,
+        3,
+      );
     });
   });
 });
diff --git a/api/src/engine/connectors/exareme/tests/e2e/logistic-regression.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/logistic-regression.e2e-spec.ts
index 1ea5e53..abc045c 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/logistic-regression.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/logistic-regression.e2e-spec.ts
@@ -39,8 +39,8 @@ describe('ExaremeService', () => {
       id: algorithmId,
       type: 'string',
       parameters: [
-        { id: 'positive_level', value: ['M'] },
-        { id: 'negative_level', value: ['F'] },
+        { id: 'positive_level', value: 'M' },
+        { id: 'negative_level', value: 'F' },
       ],
     },
     filter: '',
diff --git a/api/src/engine/connectors/exareme/tests/e2e/multiple-histograms.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/multiple-histograms.e2e-spec.ts
index b5a020d..7604dd9 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/multiple-histograms.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/multiple-histograms.e2e-spec.ts
@@ -37,7 +37,7 @@ describe('ExaremeService', () => {
     algorithm: {
       id: algorithmId,
       type: 'string',
-      parameters: [{ id: 'bins', value: ['{ "lefthippocampus" : 35 }'] }],
+      parameters: [{ id: 'bins', value: '{ "lefthippocampus" : 35 }' }],
     },
     filter: '',
   };
diff --git a/api/src/engine/connectors/exareme/tests/e2e/naive-bayes.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/naive-bayes.e2e-spec.ts
index a8565ab..024e412 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/naive-bayes.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/naive-bayes.e2e-spec.ts
@@ -41,11 +41,11 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'alpha',
-          value: ['0.1'],
+          value: '0.1',
         },
         {
           id: 'k',
-          value: ['10'],
+          value: '10',
         },
       ],
     },
diff --git a/api/src/engine/connectors/exareme/tests/e2e/pca.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/pca.e2e-spec.ts
index 7fc57c4..79f65b8 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/pca.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/pca.e2e-spec.ts
@@ -39,8 +39,8 @@ describe('ExaremeService', () => {
       id: algorithmId,
       type: 'string',
       parameters: [
-        { id: 'standardize', value: ['false'] },
-        { id: 'coding', value: ['null'] },
+        { id: 'standardize', value: 'false' },
+        { id: 'coding', value: 'null' },
       ],
     },
     filter: '',
diff --git a/api/src/engine/connectors/exareme/tests/e2e/pearson-correlation.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/pearson-correlation.e2e-spec.ts
index 1482146..e1617dd 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/pearson-correlation.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/pearson-correlation.e2e-spec.ts
@@ -39,8 +39,8 @@ describe('ExaremeService', () => {
       id: algorithmId,
       type: 'string',
       parameters: [
-        { id: 'standardize', value: ['false'] },
-        { id: 'coding', value: ['null'] },
+        { id: 'standardize', value: 'false' },
+        { id: 'coding', value: 'null' },
       ],
     },
     filter: '',
diff --git a/api/src/engine/connectors/exareme/tests/e2e/t-test-independant.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/t-test-independant.e2e-spec.ts
index c7ce2bf..2dee185 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/t-test-independant.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/t-test-independant.e2e-spec.ts
@@ -49,27 +49,27 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'xlevels',
-          value: ['M', 'F'],
+          value: 'M,F',
         },
         {
           id: 'testvalue',
-          value: ['3.0'],
+          value: '3.0',
         },
         {
           id: 'hypothesis',
-          value: ['greaterthan'],
+          value: 'greaterthan',
         },
         {
           id: 'effectsize',
-          value: ['1'],
+          value: '1',
         },
         {
           id: 'ci',
-          value: ['1'],
+          value: '1',
         },
         {
           id: 'meandiff',
-          value: ['1'],
+          value: '1',
         },
       ],
     },
diff --git a/api/src/engine/connectors/exareme/tests/e2e/t-test-one-sample.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/t-test-one-sample.e2e-spec.ts
index 65c2f28..a08e6fb 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/t-test-one-sample.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/t-test-one-sample.e2e-spec.ts
@@ -41,23 +41,23 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'testvalue',
-          value: ['3.0'],
+          value: '3.0',
         },
         {
           id: 'hypothesis',
-          value: ['different'],
+          value: 'different',
         },
         {
           id: 'effectsize',
-          value: ['1'],
+          value: '1',
         },
         {
           id: 'ci',
-          value: ['1'],
+          value: '1',
         },
         {
           id: 'meandiff',
-          value: ['1'],
+          value: '1',
         },
       ],
     },
diff --git a/api/src/engine/connectors/exareme/tests/e2e/t-test-paired.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/t-test-paired.e2e-spec.ts
index be5c049..dd2b971 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/t-test-paired.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/t-test-paired.e2e-spec.ts
@@ -40,7 +40,7 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'hypothesis',
-          value: ['different'],
+          value: 'different',
         },
       ],
     },
@@ -66,9 +66,7 @@ describe('ExaremeService', () => {
       expect(experimentResult.results.length).toBeGreaterThanOrEqual(1);
       const data = experimentResult.results[0] as RawResult;
 
-      console.log(data.rawdata['data']);
-
-      //expect(data.rawdata['data'][0]['t_value']).toBeCloseTo(-63.2, 3);
+      expect(data.rawdata['data'][0]['t_value']).toBeCloseTo(-63.2, 3);
     });
   });
 });
diff --git a/api/src/engine/connectors/exareme/tests/e2e/two-way-anova.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/two-way-anova.e2e-spec.ts
index 4a465ed..7b616e3 100644
--- a/api/src/engine/connectors/exareme/tests/e2e/two-way-anova.e2e-spec.ts
+++ b/api/src/engine/connectors/exareme/tests/e2e/two-way-anova.e2e-spec.ts
@@ -41,23 +41,23 @@ describe('ExaremeService', () => {
       parameters: [
         {
           id: 'bins',
-          value: ['40'],
+          value: '40',
         },
         {
           id: 'iterations_max_number',
-          value: ['20'],
+          value: '20',
         },
         {
           id: 'sstype',
-          value: ['2'],
+          value: '2',
         },
         {
           id: 'outputformat',
-          value: ['pfa'],
+          value: 'pfa',
         },
         {
           id: 'design',
-          value: ['additive'],
+          value: 'additive',
         },
       ],
     },
-- 
GitLab