diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java
index 1bc8fc0a77a511d0ec8615a3cfd6436665ff8bdf..89784fc0c02e32376877088930f45b23b968c666 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java
@@ -13,7 +13,9 @@ import lcsb.mapviewer.converter.model.sbml.species.AllSbmlSpeciesTests;
     GenericSbmlParserTest.class,
     GenericSbmlToXmlParserTest.class,
     CellDesignerToMultiExportTest.class,
+    ElementPropertiesExportToMultiTest.class,
     MultiParserTest.class,
+    ReactionPropertiesExportToMultiTest.class,
     SbmlBioEntityExporterTest.class,
     SbmlExporterTest.class,
     SbmlExporterFromCellDesignerTest.class,
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f026419554bea0168a6746a035574e9d497a60c
--- /dev/null
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
@@ -0,0 +1,108 @@
+package lcsb.mapviewer.converter.model.sbml;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import lcsb.mapviewer.converter.ConverterParams;
+import lcsb.mapviewer.model.map.model.Model;
+import lcsb.mapviewer.model.map.model.ModelComparator;
+import lcsb.mapviewer.model.map.model.ModelFullIndexed;
+import lcsb.mapviewer.model.map.species.Element;
+import lcsb.mapviewer.model.map.species.GenericProtein;
+
+@RunWith(Parameterized.class)
+public class ElementPropertiesExportToMultiTest {
+
+  static Logger logger = Logger.getLogger(ElementPropertiesExportToMultiTest.class.getName());
+
+  private Model model;
+
+  public ElementPropertiesExportToMultiTest(String propertyName, Model model) {
+    this.model = model;
+  }
+
+  @Parameters(name = "{index} : {0}")
+  public static Collection<Object[]> data() throws IOException {
+    Collection<Object[]> data = new ArrayList<>();
+
+    data.add(createTestEntry("Empty", createElement()));
+
+    Element element = createElement();
+    element.setAbbreviation("xyz");
+    data.add(createTestEntry("Abbreviation", element));
+
+    element = createElement();
+    element.setFormerSymbols(Arrays.asList(new String[] { "symbol 1", "s2" }));
+    data.add(createTestEntry("Former Symbols", element));
+
+    element = createElement();
+    element.setFormula("C2H5OH");
+    data.add(createTestEntry("Formula", element));
+
+    element = createElement();
+    element.setFullName("Amazing element");
+    data.add(createTestEntry("Full name", element));
+
+    element = createElement();
+    element.setSymbol("H2O");
+    data.add(createTestEntry("Symbol", element));
+
+    element = createElement();
+    element.setSynonyms(Arrays.asList(new String[] { "syn 1", "s2" }));
+    data.add(createTestEntry("Synonyms", element));
+
+    return data;
+  }
+
+  private static Object[] createTestEntry(String string, Element element) {
+    Model result = new ModelFullIndexed(null);
+    result.setIdModel("X");
+    result.setWidth(200);
+    result.setHeight(200);
+    result.addElement(element);
+    return new Object[] { string, result };
+  }
+
+  private static Element createElement() {
+    Element element = new GenericProtein("id");
+    element.setX(10);
+    element.setY(10);
+    element.setWidth(1000);
+    element.setHeight(30);
+    return element;
+  }
+
+  @Test
+  public void createModelTest() throws Exception {
+    try {
+      SbmlExporter sbmlExporter = new SbmlExporter();
+      SbmlParser sbmlParser = new SbmlParser();
+      String xmlString = sbmlExporter.toXml(model);
+
+      InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+
+      Model model2 = sbmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+      model2.setName(model.getName());
+
+      ModelComparator comparator = new ModelComparator();
+      assertEquals(0, comparator.compare(model, model2));
+
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+}
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ReactionPropertiesExportToMultiTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ReactionPropertiesExportToMultiTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8f211ade7d3845a6d5f623308fdd83050ca0372
--- /dev/null
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ReactionPropertiesExportToMultiTest.java
@@ -0,0 +1,165 @@
+package lcsb.mapviewer.converter.model.sbml;
+
+import static org.junit.Assert.assertEquals;
+
+import java.awt.geom.Point2D;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import lcsb.mapviewer.converter.ConverterParams;
+import lcsb.mapviewer.model.graphics.PolylineData;
+import lcsb.mapviewer.model.map.model.Model;
+import lcsb.mapviewer.model.map.model.ModelComparator;
+import lcsb.mapviewer.model.map.model.ModelFullIndexed;
+import lcsb.mapviewer.model.map.reaction.Product;
+import lcsb.mapviewer.model.map.reaction.Reactant;
+import lcsb.mapviewer.model.map.reaction.Reaction;
+import lcsb.mapviewer.model.map.reaction.ReactionNode;
+import lcsb.mapviewer.model.map.reaction.type.StateTransitionReaction;
+import lcsb.mapviewer.model.map.species.Ion;
+
+@RunWith(Parameterized.class)
+public class ReactionPropertiesExportToMultiTest {
+
+  static Logger logger = Logger.getLogger(ReactionPropertiesExportToMultiTest.class.getName());
+
+  private Model model;
+  private static String reactionId = "reactionId";
+
+  public ReactionPropertiesExportToMultiTest(String propertyName, Model model) {
+    this.model = model;
+  }
+
+  @Parameters(name = "{index} : {0}")
+  public static Collection<Object[]> data() throws IOException {
+    Collection<Object[]> data = new ArrayList<>();
+
+    data.add(createTestEntry("Empty", createReaction()));
+
+    Reaction reaction = createReaction();
+    reaction.setAbbreviation("xyz");
+    data.add(createTestEntry("Abbreviation", reaction));
+
+    reaction = createReaction();
+    reaction.setMechanicalConfidenceScore(1);
+    data.add(createTestEntry("Mechanical Confidence Score", reaction));
+
+    reaction = createReaction();
+    reaction.setSubsystem("sub system");
+    data.add(createTestEntry("Subsystem", reaction));
+
+    reaction = createReaction();
+    reaction.setFormula("C2H5OH");
+    data.add(createTestEntry("Formula", reaction));
+
+    reaction = createReaction();
+    reaction.setGeneProteinReaction("some magic string");
+    data.add(createTestEntry("Gene Protein Reaction", reaction));
+
+    reaction = createReaction();
+    reaction.setLowerBound(12.0);
+    data.add(createTestEntry("Lower bound", reaction));
+
+    reaction = createReaction();
+    reaction.setUpperBound(13.0);
+    data.add(createTestEntry("Upper bound", reaction));
+
+    reaction = createReaction();
+    reaction.setSymbol("H2O");
+    data.add(createTestEntry("Symbol", reaction));
+
+    reaction = createReaction();
+    reaction.setSynonyms(Arrays.asList(new String[] { "syn 1", "s2" }));
+    data.add(createTestEntry("Synonyms", reaction));
+
+    return data;
+  }
+
+  private static Reaction createReaction() {
+    Reaction reactionm = new StateTransitionReaction();
+
+    Ion ion = createIon(1);
+    Ion ion2 = createIon(2);
+
+    reactionm.setIdReaction(reactionId);
+    reactionm.addReactant(createReactant(ion));
+    reactionm.addProduct(createProduct(ion2));
+
+    return reactionm;
+  }
+
+  private static Reactant createReactant(Ion ion) {
+    Reactant result = new Reactant(ion);
+    Point2D point = ion.getCenter();
+    point.setLocation(point.getX() + 300, point.getY());
+    result.setLine(new PolylineData(ion.getCenter(), point));
+    return result;
+  }
+
+  private static Product createProduct(Ion ion) {
+    Product result = new Product(ion);
+    Point2D point = ion.getCenter();
+    point.setLocation(point.getX() + 300, point.getY());
+    result.setLine(new PolylineData(ion.getCenter(), point));
+    return result;
+  }
+
+  private static Ion createIon(int id) {
+    Ion ion = new Ion("x" + id);
+    ion.setName("ion " + id);
+    ion.setWidth(100);
+    ion.setHeight(100);
+    ion.setX(200 * (id % 2 + 1));
+    ion.setY(50 * (id / 2 + 1));
+    ion.setOnlySubstanceUnits(true);
+    ion.setConstant(true);
+    ion.setInitialAmount(2.0);
+    ion.setBoundaryCondition(true);
+    return ion;
+  }
+
+  private static Object[] createTestEntry(String string, Reaction element) {
+    Model result = new ModelFullIndexed(null);
+    result.setIdModel("X");
+    result.setWidth(200);
+    result.setHeight(200);
+    for (ReactionNode node : ((Reaction) element).getReactionNodes()) {
+      result.addElement(node.getElement());
+    }
+    result.addReaction((Reaction) element);
+    return new Object[] { string, result };
+  }
+
+  @Test
+  public void createModelTest() throws Exception {
+    try {
+      SbmlExporter sbmlExporter = new SbmlExporter();
+      SbmlParser sbmlParser = new SbmlParser();
+      String xmlString = sbmlExporter.toXml(model);
+
+      InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+
+      Model model2 = sbmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+      model2.setName(model.getName());
+      model2.getReactions().iterator().next().setIdReaction(reactionId);
+
+      ModelComparator comparator = new ModelComparator();
+      assertEquals(0, comparator.compare(model, model2));
+
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+}