Skip to content
Snippets Groups Projects
Commit e50e751f authored by Piotr Gawron's avatar Piotr Gawron
Browse files

reaction comparator checks also line

parent ed4b3cc6
No related branches found
No related tags found
1 merge request!785Resolve "remove Reaction.getCenterLine method"
package lcsb.mapviewer.model.map.reaction;
import org.apache.logging.log4j.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import lcsb.mapviewer.common.Comparator;
import lcsb.mapviewer.common.Configuration;
......@@ -10,6 +11,7 @@ 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.model.graphics.PolylineDataComparator;
import lcsb.mapviewer.model.map.MiriamData;
import lcsb.mapviewer.model.map.MiriamDataComparator;
import lcsb.mapviewer.model.map.kinetics.SbmlKineticsComparator;
......@@ -170,6 +172,14 @@ public class ReactionComparator extends Comparator<Reaction> {
logger.debug(arg1.getKinetics());
return kineticsComparator.compare(arg0.getKinetics(), arg1.getKinetics());
}
PolylineDataComparator lineComparator = new PolylineDataComparator(epsilon);
if (lineComparator.compare(arg0.getLine(), arg1.getLine()) != 0) {
logger.debug("Center line different");
logger.debug(arg0.getLine());
logger.debug(arg1.getLine());
return lineComparator.compare(arg0.getLine(), arg1.getLine());
}
return 0;
}
......
......@@ -309,4 +309,22 @@ public class ReactionComparatorTest {
assertEquals(0, comparator.compare(reaction1, reaction2));
assertEquals(0, comparator.compare(reaction2, reaction1));
}
@Test
public void testDifferentCenterLine() {
Reaction reaction1 = createReaction();
Reaction reaction2 = createReaction();
reaction1.setLine(new PolylineData(new Point2D.Double(1, 2), new Point2D.Double(1, 5)));
assertTrue("Center line is different", comparator.compare(reaction1, reaction2) != 0);
assertTrue(comparator.compare(reaction2, reaction1) != 0);
reaction2.setLine(new PolylineData());
assertTrue("Center line is different", comparator.compare(reaction1, reaction2) != 0);
assertTrue(comparator.compare(reaction2, reaction1) != 0);
reaction2.setLine(new PolylineData(new Point2D.Double(1, 2), new Point2D.Double(1, 5)));
assertEquals(0, comparator.compare(reaction1, reaction2));
assertEquals(0, comparator.compare(reaction2, reaction1));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment