From 54e0083072109092d1e8d4e42852f3cd6d595ef4 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Tue, 19 Mar 2019 09:28:14 +0100 Subject: [PATCH] model comparator checks set of miriam data --- .../model/map/model/ModelComparator.java | 13 +++++++++++++ .../model/map/reaction/ReactionComparator.java | 4 ---- .../model/map/model/ModelComparatorTest.java | 17 +++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java index 2cbb637eb9..8295ce7a15 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java @@ -13,6 +13,8 @@ import lcsb.mapviewer.common.comparator.DoubleComparator; import lcsb.mapviewer.common.comparator.IntegerComparator; import lcsb.mapviewer.common.comparator.SetComparator; import lcsb.mapviewer.common.comparator.StringComparator; +import lcsb.mapviewer.model.map.MiriamData; +import lcsb.mapviewer.model.map.MiriamDataComparator; import lcsb.mapviewer.model.map.kinetics.SbmlFunction; import lcsb.mapviewer.model.map.kinetics.SbmlFunctionComparator; import lcsb.mapviewer.model.map.kinetics.SbmlParameter; @@ -148,6 +150,17 @@ public class ModelComparator extends Comparator<Model> { logger.debug("parameters different"); return status; } + + SetComparator<MiriamData> miriamDataSetComparator = new SetComparator<>(new MiriamDataComparator()); + + status = miriamDataSetComparator.compare(arg0.getMiriamData(), arg1.getMiriamData()); + if (status != 0) { + logger.debug("miriam data different"); + logger.debug(arg0.getMiriamData()); + logger.debug(arg1.getMiriamData()); + return status; + } + return 0; } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java index 91900fa4e9..9635897c8a 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java @@ -1,8 +1,5 @@ package lcsb.mapviewer.model.map.reaction; -import java.util.HashSet; -import java.util.Set; - import org.apache.log4j.Logger; import lcsb.mapviewer.common.Comparator; @@ -13,7 +10,6 @@ import lcsb.mapviewer.common.comparator.IntegerComparator; import lcsb.mapviewer.common.comparator.SetComparator; import lcsb.mapviewer.common.comparator.StringComparator; import lcsb.mapviewer.common.comparator.StringListComparator; -import lcsb.mapviewer.common.comparator.StringSetComparator; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamDataComparator; import lcsb.mapviewer.model.map.kinetics.SbmlKineticsComparator; diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java index c2baa22270..878adb6632 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java @@ -415,4 +415,21 @@ public class ModelComparatorTest { } } + @Test + public void testCompareAnnotations() throws Exception { + try { + Model model1 = getModel(); + Model model2 = getModel(); + model1.addMiriamData(new MiriamData(MiriamType.CHEBI, "CHEBI:12345")); + assertTrue("Models have different annotations", comparator.compare(model1, model2) != 0); + assertTrue(comparator.compare(model2, model1) != 0); + model2.addMiriamData(new MiriamData(MiriamType.CHEBI, "CHEBI:12345")); + assertEquals(0, comparator.compare(model1, model2)); + assertEquals(0, comparator.compare(model2, model1)); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + } -- GitLab