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 83485ebdcc352d05713bbc31b15e1e82c8c0ee32..5d810c8dbc24daa83ec0394e146fd83115a66f81 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
@@ -78,7 +78,7 @@ describe('ExaremeService', () => {
 
       expect(
         data.rawdata['data'][0]['leftacgganteriorcingulategyrus'],
-      ).toBeCloseTo(4.197, 3);
+      ).toBeCloseTo(4.197, 2);
     });
   });
 });
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 7c664d7088314109b042a781f4a068a21dc3ff75..a8565ab4c9f8e68cc3eb1c4791d8d5c5841006f2 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
@@ -1,9 +1,9 @@
 import { Test, TestingModule } from '@nestjs/testing';
-import { RawResult } from 'src/engine/models/result/raw-result.model';
 import { AppModule } from '../../../../../main/app.module';
 import { ENGINE_SERVICE } from '../../../../engine.constants';
 import { IEngineService } from '../../../../engine.interfaces';
 import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
 import {
   createExperiment,
   generateNumber,
diff --git a/api/src/engine/connectors/exareme/tests/e2e/one-way-anova.e2e-spec.ts b/api/src/engine/connectors/exareme/tests/e2e/one-way-anova.e2e-spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e8361797cd5805a1f84e4e8601d110e8ef344a9e
--- /dev/null
+++ b/api/src/engine/connectors/exareme/tests/e2e/one-way-anova.e2e-spec.ts
@@ -0,0 +1,65 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../../../../../main/app.module';
+import { ENGINE_SERVICE } from '../../../../engine.constants';
+import { IEngineService } from '../../../../engine.interfaces';
+import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
+import {
+  createExperiment,
+  generateNumber,
+  TEST_PATHOLOGIES,
+  TIMEOUT_DURATION_SECONDS,
+  waitForResult,
+} from '../../interfaces/test-utilities';
+
+jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS);
+
+describe('ExaremeService', () => {
+  let exaremeService: IEngineService;
+
+  beforeEach(async () => {
+    const moduleRef: TestingModule = await Test.createTestingModule({
+      imports: [AppModule],
+    }).compile();
+
+    exaremeService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE);
+  });
+  const modelSlug = `anova-1way-${generateNumber()}`;
+  const algorithmId = 'ANOVA_ONEWAY';
+
+  const input: ExperimentCreateInput = {
+    name: modelSlug,
+    variables: ['lefthippocampus'],
+    coVariables: ['ppmicategory'],
+    datasets: TEST_PATHOLOGIES.dementia.datasets
+      .filter((d) => d.code === 'ppmi')
+      .map((d) => d.code),
+    domain: TEST_PATHOLOGIES.dementia.code,
+    algorithm: {
+      id: algorithmId,
+      type: 'string',
+      parameters: [],
+    },
+    filter: '',
+  };
+
+  describe('Integration Test for experiment API', () => {
+    it(`create ${algorithmId}`, async () => {
+      const experiment = await createExperiment(input, exaremeService);
+
+      expect(experiment).toBeTruthy();
+      expect(experiment?.status).toStrictEqual('pending');
+
+      expect(experiment?.id).toBeTruthy();
+
+      const experimentResult = await waitForResult(
+        experiment?.id ?? '',
+        exaremeService,
+      );
+
+      expect(experimentResult).toBeTruthy();
+      expect(experimentResult.status).toStrictEqual('success');
+      expect(experimentResult.results.length).toBeGreaterThanOrEqual(4);
+    });
+  });
+});
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
new file mode 100644
index 0000000000000000000000000000000000000000..7fc57c4b76f9b4f834cfc8dc5d063bd6f5e19732
--- /dev/null
+++ b/api/src/engine/connectors/exareme/tests/e2e/pca.e2e-spec.ts
@@ -0,0 +1,71 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../../../../../main/app.module';
+import { ENGINE_SERVICE } from '../../../../engine.constants';
+import { IEngineService } from '../../../../engine.interfaces';
+import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
+import {
+  createExperiment,
+  generateNumber,
+  TEST_PATHOLOGIES,
+  TIMEOUT_DURATION_SECONDS,
+  waitForResult,
+} from '../../interfaces/test-utilities';
+
+jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS);
+
+describe('ExaremeService', () => {
+  let exaremeService: IEngineService;
+
+  beforeEach(async () => {
+    const moduleRef: TestingModule = await Test.createTestingModule({
+      imports: [AppModule],
+    }).compile();
+
+    exaremeService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE);
+  });
+  const modelSlug = `pca-${generateNumber()}`;
+  const algorithmId = 'PCA';
+
+  const input: ExperimentCreateInput = {
+    name: modelSlug,
+    variables: ['lefthippocampus', 'rightthalamusproper', 'leftthalamusproper'],
+    coVariables: ['alzheimerbroadcategory'],
+    datasets: TEST_PATHOLOGIES.dementia.datasets
+      .filter((d) => d.code !== 'fake_longitudinal')
+      .map((d) => d.code),
+    domain: TEST_PATHOLOGIES.dementia.code,
+    algorithm: {
+      id: algorithmId,
+      type: 'string',
+      parameters: [
+        { id: 'standardize', value: ['false'] },
+        { id: 'coding', value: ['null'] },
+      ],
+    },
+    filter: '',
+  };
+
+  describe('Integration Test for experiment API', () => {
+    it(`create ${algorithmId}`, async () => {
+      const experiment = await createExperiment(input, exaremeService);
+
+      expect(experiment).toBeTruthy();
+      expect(experiment?.status).toStrictEqual('pending');
+
+      expect(experiment?.id).toBeTruthy();
+
+      const experimentResult = await waitForResult(
+        experiment?.id ?? '',
+        exaremeService,
+      );
+
+      expect(experimentResult).toBeTruthy();
+      expect(experimentResult.status).toStrictEqual('success');
+      expect(experimentResult.results.length).toBeGreaterThanOrEqual(4);
+      const data = experimentResult.results[0] as RawResult;
+
+      expect(data.rawdata['data']['eigenvalues'][1]).toBeCloseTo(0.433, 3);
+    });
+  });
+});
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
new file mode 100644
index 0000000000000000000000000000000000000000..14821462cc633ec53b21979067e076b031914a63
--- /dev/null
+++ b/api/src/engine/connectors/exareme/tests/e2e/pearson-correlation.e2e-spec.ts
@@ -0,0 +1,73 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../../../../../main/app.module';
+import { ENGINE_SERVICE } from '../../../../engine.constants';
+import { IEngineService } from '../../../../engine.interfaces';
+import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
+import {
+  createExperiment,
+  generateNumber,
+  TEST_PATHOLOGIES,
+  TIMEOUT_DURATION_SECONDS,
+  waitForResult,
+} from '../../interfaces/test-utilities';
+
+jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS);
+
+describe('ExaremeService', () => {
+  let exaremeService: IEngineService;
+
+  beforeEach(async () => {
+    const moduleRef: TestingModule = await Test.createTestingModule({
+      imports: [AppModule],
+    }).compile();
+
+    exaremeService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE);
+  });
+  const modelSlug = `pearson-${generateNumber()}`;
+  const algorithmId = 'PEARSON_CORRELATION';
+
+  const input: ExperimentCreateInput = {
+    name: modelSlug,
+    variables: ['righthippocampus'],
+    coVariables: ['lefthippocampus'],
+    datasets: TEST_PATHOLOGIES.dementia.datasets
+      .filter((d) => d.code !== 'fake_longitudinal')
+      .map((d) => d.code),
+    domain: TEST_PATHOLOGIES.dementia.code,
+    algorithm: {
+      id: algorithmId,
+      type: 'string',
+      parameters: [
+        { id: 'standardize', value: ['false'] },
+        { id: 'coding', value: ['null'] },
+      ],
+    },
+    filter: '',
+  };
+
+  describe('Integration Test for experiment API', () => {
+    it(`create ${algorithmId}`, async () => {
+      const experiment = await createExperiment(input, exaremeService);
+
+      expect(experiment).toBeTruthy();
+      expect(experiment?.status).toStrictEqual('pending');
+
+      expect(experiment?.id).toBeTruthy();
+
+      const experimentResult = await waitForResult(
+        experiment?.id ?? '',
+        exaremeService,
+      );
+
+      expect(experimentResult).toBeTruthy();
+      expect(experimentResult.status).toStrictEqual('success');
+      expect(experimentResult.results.length).toBeGreaterThanOrEqual(2);
+      const data = experimentResult.results[0] as RawResult;
+
+      expect(
+        data.rawdata['data']['Pearson correlation coefficient'][0][0],
+      ).toBeCloseTo(0.924, 3);
+    });
+  });
+});
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
new file mode 100644
index 0000000000000000000000000000000000000000..c7ce2bf958de8947a00ae17c48be33a10d99409a
--- /dev/null
+++ b/api/src/engine/connectors/exareme/tests/e2e/t-test-independant.e2e-spec.ts
@@ -0,0 +1,101 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../../../../../main/app.module';
+import { ENGINE_SERVICE } from '../../../../engine.constants';
+import { IEngineService } from '../../../../engine.interfaces';
+import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
+import {
+  createExperiment,
+  generateNumber,
+  TEST_PATHOLOGIES,
+  TIMEOUT_DURATION_SECONDS,
+  waitForResult,
+} from '../../interfaces/test-utilities';
+
+jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS);
+
+describe('ExaremeService', () => {
+  let exaremeService: IEngineService;
+
+  beforeEach(async () => {
+    const moduleRef: TestingModule = await Test.createTestingModule({
+      imports: [AppModule],
+    }).compile();
+
+    exaremeService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE);
+  });
+  const modelSlug = `ttest-idp-${generateNumber()}`;
+  const algorithmId = 'TTEST_INDEPENDENT';
+
+  const input: ExperimentCreateInput = {
+    name: modelSlug,
+    variables: [
+      'rightpcggposteriorcingulategyrus',
+      'leftpcggposteriorcingulategyrus',
+      'rightacgganteriorcingulategyrus',
+      'leftacgganteriorcingulategyrus',
+      'rightmcggmiddlecingulategyrus',
+      'leftmcggmiddlecingulategyrus',
+      'rightphgparahippocampalgyrus',
+    ],
+    coVariables: ['gender'],
+    datasets: TEST_PATHOLOGIES.dementia.datasets
+      .filter((d) => d.code !== 'fake_longitudinal')
+      .map((d) => d.code),
+    domain: TEST_PATHOLOGIES.dementia.code,
+    algorithm: {
+      id: algorithmId,
+      type: 'string',
+      parameters: [
+        {
+          id: 'xlevels',
+          value: ['M', 'F'],
+        },
+        {
+          id: 'testvalue',
+          value: ['3.0'],
+        },
+        {
+          id: 'hypothesis',
+          value: ['greaterthan'],
+        },
+        {
+          id: 'effectsize',
+          value: ['1'],
+        },
+        {
+          id: 'ci',
+          value: ['1'],
+        },
+        {
+          id: 'meandiff',
+          value: ['1'],
+        },
+      ],
+    },
+    filter: '',
+  };
+
+  describe('Integration Test for experiment API', () => {
+    it(`create ${algorithmId}`, async () => {
+      const experiment = await createExperiment(input, exaremeService);
+
+      expect(experiment).toBeTruthy();
+      expect(experiment?.status).toStrictEqual('pending');
+
+      expect(experiment?.id).toBeTruthy();
+
+      const experimentResult = await waitForResult(
+        experiment?.id ?? '',
+        exaremeService,
+      );
+
+      expect(experimentResult).toBeTruthy();
+      expect(experimentResult.status).toStrictEqual('success');
+      expect(experimentResult.results.length).toBeGreaterThanOrEqual(1);
+      const data = experimentResult.results[0] as RawResult;
+
+      expect(data.rawdata['data'][0]['t_value']).toBeCloseTo(18.477, 3);
+    });
+  });
+});
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
new file mode 100644
index 0000000000000000000000000000000000000000..65c2f282fe18472731be20459e781db61dd2f151
--- /dev/null
+++ b/api/src/engine/connectors/exareme/tests/e2e/t-test-one-sample.e2e-spec.ts
@@ -0,0 +1,89 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../../../../../main/app.module';
+import { ENGINE_SERVICE } from '../../../../engine.constants';
+import { IEngineService } from '../../../../engine.interfaces';
+import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
+import {
+  createExperiment,
+  generateNumber,
+  TEST_PATHOLOGIES,
+  TIMEOUT_DURATION_SECONDS,
+  waitForResult,
+} from '../../interfaces/test-utilities';
+
+jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS);
+
+describe('ExaremeService', () => {
+  let exaremeService: IEngineService;
+
+  beforeEach(async () => {
+    const moduleRef: TestingModule = await Test.createTestingModule({
+      imports: [AppModule],
+    }).compile();
+
+    exaremeService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE);
+  });
+  const modelSlug = `ttest-1s-${generateNumber()}`;
+  const algorithmId = 'TTEST_ONESAMPLE';
+
+  const input: ExperimentCreateInput = {
+    name: modelSlug,
+    variables: ['righthippocampus', 'lefthippocampus'],
+    coVariables: ['gender', ' alzheimerbroadcategory'],
+    datasets: TEST_PATHOLOGIES.dementia.datasets
+      .filter((d) => d.code !== 'fake_longitudinal')
+      .map((d) => d.code),
+    domain: TEST_PATHOLOGIES.dementia.code,
+    algorithm: {
+      id: algorithmId,
+      type: 'string',
+      parameters: [
+        {
+          id: 'testvalue',
+          value: ['3.0'],
+        },
+        {
+          id: 'hypothesis',
+          value: ['different'],
+        },
+        {
+          id: 'effectsize',
+          value: ['1'],
+        },
+        {
+          id: 'ci',
+          value: ['1'],
+        },
+        {
+          id: 'meandiff',
+          value: ['1'],
+        },
+      ],
+    },
+    filter: '',
+  };
+
+  describe('Integration Test for experiment API', () => {
+    it(`create ${algorithmId}`, async () => {
+      const experiment = await createExperiment(input, exaremeService);
+
+      expect(experiment).toBeTruthy();
+      expect(experiment?.status).toStrictEqual('pending');
+
+      expect(experiment?.id).toBeTruthy();
+
+      const experimentResult = await waitForResult(
+        experiment?.id ?? '',
+        exaremeService,
+      );
+
+      expect(experimentResult).toBeTruthy();
+      expect(experimentResult.status).toStrictEqual('success');
+      expect(experimentResult.results.length).toBeGreaterThanOrEqual(1);
+      const data = experimentResult.results[0] as RawResult;
+
+      expect(data.rawdata['data'][0]['t_value']).toBeCloseTo(8.155, 3);
+    });
+  });
+});
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
new file mode 100644
index 0000000000000000000000000000000000000000..be5c049dc3fd7e5434c06522ceb2fd1ea7725da7
--- /dev/null
+++ b/api/src/engine/connectors/exareme/tests/e2e/t-test-paired.e2e-spec.ts
@@ -0,0 +1,74 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../../../../../main/app.module';
+import { ENGINE_SERVICE } from '../../../../engine.constants';
+import { IEngineService } from '../../../../engine.interfaces';
+import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
+import {
+  createExperiment,
+  generateNumber,
+  TEST_PATHOLOGIES,
+  TIMEOUT_DURATION_SECONDS,
+  waitForResult,
+} from '../../interfaces/test-utilities';
+
+jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS);
+
+describe('ExaremeService', () => {
+  let exaremeService: IEngineService;
+
+  beforeEach(async () => {
+    const moduleRef: TestingModule = await Test.createTestingModule({
+      imports: [AppModule],
+    }).compile();
+
+    exaremeService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE);
+  });
+  const modelSlug = `ttest-paired-${generateNumber()}`;
+  const algorithmId = 'TTEST_PAIRED';
+
+  const input: ExperimentCreateInput = {
+    name: modelSlug,
+    variables: ['lefthippocampus', 'righthippocampus'],
+    datasets: TEST_PATHOLOGIES.dementia.datasets
+      .filter((d) => d.code !== 'fake_longitudinal')
+      .map((d) => d.code),
+    domain: TEST_PATHOLOGIES.dementia.code,
+    algorithm: {
+      id: algorithmId,
+      type: 'string',
+      parameters: [
+        {
+          id: 'hypothesis',
+          value: ['different'],
+        },
+      ],
+    },
+    filter: '',
+  };
+
+  describe('Integration Test for experiment API', () => {
+    it(`create ${algorithmId}`, async () => {
+      const experiment = await createExperiment(input, exaremeService);
+
+      expect(experiment).toBeTruthy();
+      expect(experiment?.status).toStrictEqual('pending');
+
+      expect(experiment?.id).toBeTruthy();
+
+      const experimentResult = await waitForResult(
+        experiment?.id ?? '',
+        exaremeService,
+      );
+
+      expect(experimentResult).toBeTruthy();
+      expect(experimentResult.status).toStrictEqual('success');
+      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);
+    });
+  });
+});
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
new file mode 100644
index 0000000000000000000000000000000000000000..4a465ed14561a43406a4519beea07de90396fd22
--- /dev/null
+++ b/api/src/engine/connectors/exareme/tests/e2e/two-way-anova.e2e-spec.ts
@@ -0,0 +1,89 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../../../../../main/app.module';
+import { ENGINE_SERVICE } from '../../../../engine.constants';
+import { IEngineService } from '../../../../engine.interfaces';
+import { ExperimentCreateInput } from '../../../../models/experiment/input/experiment-create.input';
+import { RawResult } from '../../../../models/result/raw-result.model';
+import {
+  createExperiment,
+  generateNumber,
+  TEST_PATHOLOGIES,
+  TIMEOUT_DURATION_SECONDS,
+  waitForResult,
+} from '../../interfaces/test-utilities';
+
+jest.setTimeout(1000 * TIMEOUT_DURATION_SECONDS);
+
+describe('ExaremeService', () => {
+  let exaremeService: IEngineService;
+
+  beforeEach(async () => {
+    const moduleRef: TestingModule = await Test.createTestingModule({
+      imports: [AppModule],
+    }).compile();
+
+    exaremeService = await moduleRef.resolve<IEngineService>(ENGINE_SERVICE);
+  });
+  const modelSlug = `anova-2way-${generateNumber()}`;
+  const algorithmId = 'ANOVA';
+
+  const input: ExperimentCreateInput = {
+    name: modelSlug,
+    variables: ['lefthippocampus'],
+    coVariables: ['alzheimerbroadcategory'],
+    datasets: TEST_PATHOLOGIES.dementia.datasets
+      .filter((d) => d.code !== 'fake_longitudinal')
+      .map((d) => d.code),
+    domain: TEST_PATHOLOGIES.dementia.code,
+    algorithm: {
+      id: algorithmId,
+      type: 'string',
+      parameters: [
+        {
+          id: 'bins',
+          value: ['40'],
+        },
+        {
+          id: 'iterations_max_number',
+          value: ['20'],
+        },
+        {
+          id: 'sstype',
+          value: ['2'],
+        },
+        {
+          id: 'outputformat',
+          value: ['pfa'],
+        },
+        {
+          id: 'design',
+          value: ['additive'],
+        },
+      ],
+    },
+    filter: '',
+  };
+
+  describe('Integration Test for experiment API', () => {
+    it(`create ${algorithmId}`, async () => {
+      const experiment = await createExperiment(input, exaremeService);
+
+      expect(experiment).toBeTruthy();
+      expect(experiment?.status).toStrictEqual('pending');
+
+      expect(experiment?.id).toBeTruthy();
+
+      const experimentResult = await waitForResult(
+        experiment?.id ?? '',
+        exaremeService,
+      );
+
+      expect(experimentResult).toBeTruthy();
+      expect(experimentResult.status).toStrictEqual('success');
+      expect(experimentResult.results.length).toBeGreaterThanOrEqual(1);
+      const data = experimentResult.results[0] as RawResult;
+
+      expect(data.rawdata['data'][0]['sumofsquares']).toBeCloseTo(34.196, 3);
+    });
+  });
+});