SiLeBAT/FSK-Lab

View on GitHub
de.bund.bfr.knime.pmm.nodes.tests/src/de/bund/bfr/knime/pmm/js/common/Model1DataTupleTest.java

Summary

Maintainability
A
0 mins
Test Coverage
package de.bund.bfr.knime.pmm.js.common;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue;

import org.junit.Test;
import org.knime.core.node.InvalidSettingsException;
import org.knime.core.node.NodeSettings;

@SuppressWarnings("static-method")
public class Model1DataTupleTest {

    static Model1DataTuple tuple;
    static {
        tuple = new Model1DataTuple();
        tuple.condId = 0;
        tuple.globalModelId = 0;
        tuple.combaseId = "combaseId";
        tuple.agent = AgentTest.agent;
        tuple.matrix = MatrixTest.matrix;
        tuple.timeSeriesList.setTimeSeries(new TimeSeries[] { TimeSeriesTest.timeSeries });
        tuple.miscList.setMiscs(new Misc[] { MiscTest.misc } );
        tuple.mdInfo = MdInfoTest.mdInfo;
        tuple.litMd.setLiterature(new Literature[] { LiteratureTest.literature });
        tuple.dbuuid = "dbuuid";
        tuple.catModel = CatalogModelTest.catalogModel;
        tuple.catModelSec = CatalogModelTest.catalogModel;
        tuple.estModel = EstModelTest.estModel;
        tuple.dep = DepTest.dep;
        tuple.params.setParams(new Param[] { ParamTest.param } );
        tuple.indeps.setIndeps(new Indep[] { IndepTest.indep });
        tuple.indepsSec.setIndeps(new Indep[] { IndepTest.indep } );
        tuple.mLit.setLiterature(new Literature[] { LiteratureTest.literature });
        tuple.emLit.setLiterature(new Literature[] { LiteratureTest.literature });
        tuple.databaseWritable = false;
    }

    @Test
    public void testConstructor() {
        final Model1DataTuple aTuple = new Model1DataTuple();
        assertThat(aTuple.condId, is(nullValue()));
        assertThat(aTuple.globalModelId, is(nullValue()));
        assertThat(aTuple.combaseId, is(nullValue()));
        assertThat(aTuple.agent, is(notNullValue()));
        assertThat(aTuple.matrix, is(notNullValue()));
        assertThat(aTuple.timeSeriesList, is(notNullValue()));
        assertThat(aTuple.miscList, is(notNullValue()));
        assertThat(aTuple.mdInfo, is(notNullValue()));
        assertThat(aTuple.litMd, is(notNullValue()));
        assertThat(aTuple.dbuuid, is(nullValue()));
        assertThat(aTuple.catModel, is(notNullValue()));
        assertThat(aTuple.catModelSec, is(notNullValue()));
        assertThat(aTuple.estModel, is(notNullValue()));
        assertThat(aTuple.dep, is(notNullValue()));
        assertThat(aTuple.params, is(notNullValue()));
        assertThat(aTuple.paramsSec, is(notNullValue()));
        assertThat(aTuple.indeps, is(notNullValue()));
        assertThat(aTuple.indepsSec, is(notNullValue()));
        assertThat(aTuple.mLit, is(notNullValue()));
        assertThat(aTuple.emLit, is(notNullValue()));
        assertThat(aTuple.databaseWritable, is(nullValue()));
    }

    @Test
    public void testSaveToNodeSettings() throws InvalidSettingsException {
        final NodeSettings settings = new NodeSettings("irrelevantKey");
        tuple.saveToNodeSettings(settings);

        // Fails with InvalidSettingsException if a config is missing.
        settings.getInt("CondID");
        settings.getString("CombaseID");
        settings.getNodeSettings("Misc");
        settings.getNodeSettings("Organism");
        settings.getNodeSettings("Matrix");
        settings.getNodeSettings("MD_Data");
        settings.getNodeSettings("MD_Info");
        settings.getNodeSettings("MD_Literatur");
        settings.getString("M_DB_UID");
        settings.getNodeSettings("CatModel");
        settings.getNodeSettings("CatModelSec");
        settings.getNodeSettings("EstModel");
        settings.getNodeSettings("Dependent");
        settings.getNodeSettings("Parameter");
        settings.getNodeSettings("Independent");
        settings.getNodeSettings("IndependentSec");
        settings.getNodeSettings("M_Literatur");
        settings.getNodeSettings("EM_Literatur");
        settings.getBoolean("DatabaseWritable");
    }

    @Test
    public void testLoadFromNodeSettings() throws Exception {
        // Create node settings
        final NodeSettings settings = new NodeSettings("irrelevantKey");
        settings.addInt("CondID", tuple.condId);
        settings.addString("CombaseID", tuple.combaseId);
        tuple.miscList.saveToNodeSettings(settings.addNodeSettings("Misc"));
        tuple.agent.saveToNodeSettings(settings.addNodeSettings("Organism"));
        tuple.matrix.saveToNodeSettings(settings.addNodeSettings("Matrix"));
        tuple.timeSeriesList.saveToNodeSettings(settings.addNodeSettings("MD_Data"));
        tuple.mdInfo.saveToNodeSettings(settings.addNodeSettings("MD_Info"));
        tuple.litMd.saveToNodeSettings(settings.addNodeSettings("MD_Literatur"));
        settings.addString("M_DB_UID", tuple.dbuuid);
        tuple.catModel.saveToNodeSettings(settings.addNodeSettings("CatModel"));
        tuple.catModelSec.saveToNodeSettings(settings.addNodeSettings("CatModelSec"));
        tuple.estModel.saveToNodeSettings(settings.addNodeSettings("EstModel"));
        tuple.dep.saveToNodeSettings(settings.addNodeSettings("Dependent"));
        tuple.params.saveToNodeSettings(settings.addNodeSettings("Parameter"));
        tuple.indeps.saveToNodeSettings(settings.addNodeSettings("Independent"));
        tuple.indepsSec.saveToNodeSettings(settings.addNodeSettings("IndependentSec"));
        tuple.mLit.saveToNodeSettings(settings.addNodeSettings("M_Literatur"));
        tuple.emLit.saveToNodeSettings(settings.addNodeSettings("EM_Literatur"));
        settings.addBoolean("DatabaseWritable", tuple.databaseWritable);

        // Obtain tuple from settings
        final Model1DataTuple obtained = new Model1DataTuple();
        obtained.loadFromNodeSettings(settings);

        TestUtils.compare(obtained, tuple);
    }
}