de.bund.bfr.knime.pmm.nodes.tests/src/de/bund/bfr/knime/pmm/js/common/UnitTest.java
package de.bund.bfr.knime.pmm.js.common;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
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 UnitTest {
static Unit unit;
static {
unit = new Unit();
unit.id = 1;
unit.unit = "log10(Anzahl pro g)";
unit.description = "log10 Anzahl (Zellen, Partikel, ...) pro Gramm (log10 Anzahl/g)";
unit.name = "log10(number of objects per g)";
unit.kind_of_property_quantity = "Number Content (count/mass)";
unit.notation_case_sensitive = "log10(1/g)";
unit.convert_to = "1/g";
unit.conversion_function_factor = "10^x";
unit.inverse_conversion_function_factor = "log10(x)";
unit.object_type = "not_CFU";
unit.display_in_GUI_as = "log10(count/g)";
unit.mathML_string = "<unitDefinition id=\"log10_item_g\"><annotation><transformation name=\"log10\" xmlns=\"http://sourceforge.net/projects/microbialmodelingexchange/files/Units\"/></annotation><listOfUnits><unit kind=\"item\"/><unit exponent=\"-1\" kind=\"gram\"/></listOfUnits></unitDefinition>";
unit.priority_for_display_in_GUI = "false";
}
@Test
public void testConstructor() {
final Unit unit = new Unit();
assertThat(unit.id, is(nullValue()));
assertThat(unit.unit, is(nullValue()));
assertThat(unit.description, is(nullValue()));
assertThat(unit.name, is(nullValue()));
assertThat(unit.kind_of_property_quantity, is(nullValue()));
assertThat(unit.notation_case_sensitive, is(nullValue()));
assertThat(unit.convert_to, is(nullValue()));
assertThat(unit.conversion_function_factor, is(nullValue()));
assertThat(unit.inverse_conversion_function_factor, is(nullValue()));
assertThat(unit.object_type, is(nullValue()));
assertThat(unit.display_in_GUI_as, is(nullValue()));
assertThat(unit.mathML_string, is(nullValue()));
assertThat(unit.priority_for_display_in_GUI, is(nullValue()));
}
@Test
public void testSaveToNodeSettings() throws InvalidSettingsException {
final NodeSettings settings = new NodeSettings("irrelevantKey");
unit.saveToNodeSettings(settings);
assertThat(settings.getInt("id"), equalTo(unit.id));
assertThat(settings.getString("unit"), equalTo(unit.unit));
assertThat(settings.getString("description"), equalTo(unit.description));
assertThat(settings.getString("kindOfPropertyQuantity"), equalTo(unit.kind_of_property_quantity));
assertThat(settings.getString("notationCaseSensitive"), equalTo(unit.notation_case_sensitive));
assertThat(settings.getString("convertTo"), equalTo(unit.convert_to));
assertThat(settings.getString("conversionFunctionFactor"), equalTo(unit.conversion_function_factor));
assertThat(settings.getString("inversionConversionFunctionFactor"), equalTo(unit.inverse_conversion_function_factor));
assertThat(settings.getString("objectType"), equalTo(unit.object_type));
assertThat(settings.getString("displayInGuiAs"), equalTo(unit.display_in_GUI_as));
assertThat(settings.getString("mathmlString"), equalTo(unit.mathML_string));
assertThat(settings.getString("priorityForDisplayInGui"), equalTo(unit.priority_for_display_in_GUI));
}
@Test
public void testLoadFromNodeSettings() {
final NodeSettings settings = new NodeSettings("irrelevantKey");
settings.addInt("id", unit.id);
settings.addString("unit", unit.unit);
settings.addString("description", unit.description);
settings.addString("name", unit.name);
settings.addString("kindOfPropertyQuantity", unit.kind_of_property_quantity);
settings.addString("notationCaseSensitive", unit.notation_case_sensitive);
settings.addString("convertTo", unit.convert_to);
settings.addString("conversionFunctionFactor", unit.conversion_function_factor);
settings.addString("inversionConversionFunctionFactor", unit.inverse_conversion_function_factor);
settings.addString("objectType", unit.object_type);
settings.addString("displayInGuiAs", unit.display_in_GUI_as);
settings.addString("mathmlString", unit.mathML_string);
settings.addString("priorityForDisplayInGui", unit.priority_for_display_in_GUI);
final Unit actual = new Unit();
actual.loadFromNodeSettings(settings);
TestUtils.compare(actual, unit);
}
}