From 0bc2881ecc6bc5c6bf4266212a4c0acf7c5a8473 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Wed, 8 May 2019 21:02:56 +0200
Subject: [PATCH] unit tests fixed

---
 .../CellDesignerTestFunctions.java            | 25 ++++++++++++++++---
 .../CellDesignerXmlParserTest.java            | 12 ++-------
 .../celldesigner/ComplexParserTests.java      | 22 ++--------------
 .../model/sbml/GenericSbmlParserTest.java     |  8 +++++-
 .../model/sbml/SbmlTestFunctions.java         | 18 +++++++++++++
 .../commands/CreateHierarchyCommandTest.java  |  1 +
 .../testFiles/layer_text_with_notes.xml       |  1 +
 7 files changed, 52 insertions(+), 35 deletions(-)

diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
index f05ce4c064..fa6ea6d6b3 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
@@ -44,6 +44,7 @@ import lcsb.mapviewer.common.EventStorageLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
+import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
@@ -234,14 +235,30 @@ public abstract class CellDesignerTestFunctions {
 
   protected void testXmlSerialization(Model model)
       throws InconsistentModelException, UnsupportedEncodingException, InvalidInputDataExecption {
-    CellDesignerXmlParser parser = new CellDesignerXmlParser();
-    String xml = parser.model2String(model);
-    InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8"));
-    Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+    for (BioEntity bioEntity : model.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+
+    Model model2 = serializeModel(model);
 
     model.setName(null);
     ModelComparator comparator = new ModelComparator();
     assertEquals(0, comparator.compare(model, model2));
   }
 
+
+  protected Model serializeModel(Model model)
+      throws InconsistentModelException, UnsupportedEncodingException, InvalidInputDataExecption {
+    CellDesignerXmlParser parser = new CellDesignerXmlParser();
+    String xmlString = parser.model2String(model);
+    InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+
+    Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+    for (BioEntity bioEntity : model2.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+    return model2;
+  }
+
+
 }
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
index 0323096e10..2f0d754c17 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
@@ -470,11 +470,7 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions {
       alias2.setName("PDK2");
       model.addElement(alias2);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String xmlString = parser.model2String(model);
-
-      InputStream is = new ByteArrayInputStream(xmlString.getBytes());
-      Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+      Model model2 = serializeModel(model);
 
       assertEquals(0, modelComparator.compare(model, model2));
 
@@ -1078,11 +1074,7 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions {
       protein.addSynonym("&");
       model.addElement(protein);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String xmlString = parser.model2String(model);
-      InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
-
-      Model model2 = parser.createModel(new ConverterParams().inputStream(is));
+      Model model2 = serializeModel(model);
 
       assertEquals(0, modelComparator.compare(model, model2));
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
index 022d79dc5c..5c62f1ecae 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
@@ -7,8 +7,6 @@ import static org.junit.Assert.assertTrue;
 
 import java.awt.Color;
 import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -98,7 +96,6 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
     }
   }
 
-
   @Test
   public void testParseTextWithBackground() throws Exception {
     try {
@@ -413,14 +410,7 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
       alias.setName("name & no-name");
       model.addElement(alias);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String string = parser.model2String(model);
-
-      InputStream stream = new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8));
-
-      ConverterParams params = new ConverterParams().inputStream(stream).sizeAutoAdjust(false);
-
-      Model model2 = parser.createModel(params);
+      Model model2 = serializeModel(model);
 
       ModelComparator comparator = new ModelComparator();
 
@@ -443,14 +433,7 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
       alias.setName("name\rno-name");
       model.addElement(alias);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String string = parser.model2String(model);
-
-      InputStream stream = new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8));
-
-      ConverterParams params = new ConverterParams().inputStream(stream).sizeAutoAdjust(false);
-
-      Model model2 = parser.createModel(params);
+      Model model2 = serializeModel(model);
 
       ModelComparator comparator = new ModelComparator();
 
@@ -485,5 +468,4 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
     }
   }
 
-
 }
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
index 7d324d25bb..bb885faf54 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
@@ -26,6 +26,7 @@ import lcsb.mapviewer.converter.graphics.AbstractImageGenerator;
 import lcsb.mapviewer.converter.graphics.NormalImageGenerator;
 import lcsb.mapviewer.converter.graphics.PngImageGenerator;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
+import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
 
@@ -91,11 +92,16 @@ public class GenericSbmlParserTest {
 
       assertNotNull(model2);
       ModelComparator comparator = new ModelComparator(1.0);
+      for (BioEntity bioEntity: model.getBioEntities()) {
+        bioEntity.setZ(null);
+      }
+      for (BioEntity bioEntity: model2.getBioEntities()) {
+        bioEntity.setZ(null);
+      }
       assertEquals(0, comparator.compare(model, model2));
       FileUtils.deleteDirectory(new File(dir));
 
     } catch (Exception e) {
-      // TODO Auto-generated catch block
       e.printStackTrace();
       throw e;
     }
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
index 933b781dc2..4b9e2610e2 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
@@ -4,6 +4,7 @@ import java.awt.Desktop;
 import java.awt.geom.Point2D;
 import java.io.ByteArrayInputStream;
 import java.io.File;
+import java.io.InputStream;
 import java.nio.file.Files;
 import java.util.List;
 
@@ -17,7 +18,9 @@ import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.graphics.AbstractImageGenerator;
 import lcsb.mapviewer.converter.graphics.NormalImageGenerator;
 import lcsb.mapviewer.converter.graphics.PngImageGenerator;
+import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
 import lcsb.mapviewer.model.graphics.PolylineData;
+import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.reaction.Product;
@@ -117,6 +120,21 @@ public class SbmlTestFunctions {
     // showImage(result);
     return result;
   }
+  
+  protected Model getModelAfterCellDEsignerSerializing(Model model) throws Exception {
+    CellDesignerXmlParser parser = new CellDesignerXmlParser();
+    String xmlString = parser.model2String(model);
+    InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+
+    Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+    for (BioEntity bioEntity : model2.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+    for (BioEntity bioEntity : model.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+    return model2;
+  }
 
 
 
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
index f952fbb959..70809cf5ae 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
@@ -385,6 +385,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 
       assertEquals("test", pathway.getName());
       assertEquals("5", pathway.getVisibilityLevel());
+      assertEquals((Integer)11, pathway.getZ());
 
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/model-command/testFiles/layer_text_with_notes.xml b/model-command/testFiles/layer_text_with_notes.xml
index 690a38abda..426b06f1c1 100644
--- a/model-command/testFiles/layer_text_with_notes.xml
+++ b/model-command/testFiles/layer_text_with_notes.xml
@@ -42,6 +42,7 @@
 <celldesigner:layerNotes>
 test
 SemanticZoomLevelVisibility: 5
+Z-Index: 11
 </celldesigner:layerNotes>
 <celldesigner:bounds x="140.0" y="173.0" w="242.0" h="178.0"/>
 <celldesigner:paint color="ff000000"/>
-- 
GitLab