diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java index 2a71a99c922b843070be949031bb9c62f553153b..8df5c06836ed05d709c12ab1431ce6ed3296ff94 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java @@ -10,10 +10,13 @@ import java.awt.Desktop; import java.awt.geom.Point2D; import java.io.ByteArrayInputStream; import java.io.File; +import java.lang.reflect.Modifier; import java.nio.file.Files; +import java.util.Set; import org.apache.log4j.Logger; import org.junit.Test; +import org.reflections.Reflections; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.converter.ConverterParams; @@ -294,7 +297,7 @@ public class SbmlExporterTest { public void testReactionColorParsing() throws Exception { Model model = parser.createModel(new ConverterParams().filename("testFiles/layoutExample/example1.xml")); for (Reaction element : model.getReactions()) { - for (AbstractNode node: element.getNodes()) { + for (AbstractNode node : element.getNodes()) { node.getLine().setColor(Color.BLUE); } } @@ -306,7 +309,7 @@ public class SbmlExporterTest { public void testReactionLineWidthParsing() throws Exception { Model model = parser.createModel(new ConverterParams().filename("testFiles/layoutExample/example1.xml")); for (Reaction element : model.getReactions()) { - for (AbstractNode node: element.getNodes()) { + for (AbstractNode node : element.getNodes()) { node.getLine().setWidth(12.7); } } @@ -314,4 +317,30 @@ public class SbmlExporterTest { assertEquals(0, comparator.compare(model, model2)); } + @Test + public void testExportSpeciesType() throws Exception { + Reflections reflections = new Reflections("lcsb.mapviewer.model.map"); + Set<Class<? extends Species>> classes = reflections.getSubTypesOf(Species.class); + for (Class<? extends Element> class1 : classes) { + if (!Modifier.isAbstract(class1.getModifiers())) { + Model model = new ModelFullIndexed(null); + model.setIdModel("Test123"); + model.setName("x"); + model.setWidth("300"); + model.setHeight("300"); + Element element = class1.getConstructor(String.class).newInstance("x"); + element.setName("test name"); + element.setX(10); + element.setWidth(10); + element.setY(10); + element.setHeight(10); + model.addElement(element); + Model deserializedModel = getModelAfterSerializing(model); + + assertEquals("Class " + class1 + " not exported/imported properly", 0, + comparator.compare(model, deserializedModel)); + } + } + } + } diff --git a/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java b/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java index 8632b77cf002b32027853b22d7d99fd56f28c505..94777c846e43dc0a6bfa7ddac3d4dadeaccef60e 100644 --- a/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java +++ b/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java @@ -101,7 +101,7 @@ public final class ElementUtils { annotatedObjectTree = new ClassTreeNode(BioEntity.class); annotatedObjectTree.setData(false); - Map<Class<?>, ClassTreeNode> map = new LinkedHashMap<Class<?>, ClassTreeNode>(); + Map<Class<?>, ClassTreeNode> map = new LinkedHashMap<>(); map.put(Object.class, annotatedObjectTree); for (Class<? extends BioEntity> class1 : classes) { if (map.get(class1) == null) {