From f67be673fddd27d3a936a8667bed6c659e1d2b7f Mon Sep 17 00:00:00 2001 From: Shalin Shah Date: Tue, 12 Jun 2018 14:06:10 -0400 Subject: [PATCH] modified cobra test; works on windows x64 but kept @Ignore since bug #24 is still open --- .../org/simulator/fba/CobraSolverTest.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/test/java/org/simulator/fba/CobraSolverTest.java b/src/test/java/org/simulator/fba/CobraSolverTest.java index c01048cb..8a0749ea 100644 --- a/src/test/java/org/simulator/fba/CobraSolverTest.java +++ b/src/test/java/org/simulator/fba/CobraSolverTest.java @@ -1,11 +1,11 @@ package org.simulator.fba; import static org.junit.Assert.*; + import org.junit.Ignore; import org.junit.Test; import java.io.InputStream; -import java.util.Arrays; import javax.xml.stream.XMLStreamException; import org.sbml.jsbml.SBMLReader; @@ -18,9 +18,11 @@ public class CobraSolverTest { private static final Logger logger = LoggerFactory.getLogger(CobraSolverTest.class); + private double eps = 1E-4; + private double COBRA_OBJ_VAL = 0.8739215069684307; @Test - @Ignore // breaks on Ubuntu: https://github.com/shalinshah1993/SBSCL/issues/24 + @Ignore public void solveEColiCore() throws ModelOverdeterminedException, XMLStreamException { String resourceName = "fba/e_coli_core.xml"; @@ -31,12 +33,11 @@ public void solveEColiCore() throws ModelOverdeterminedException, XMLStreamExcep logger.info(doc.toString()); COBRAsolver solver = new COBRAsolver(doc); - if (solver.solve()) { - System.out.println(resourceName); - System.out.println("Objective value:\t" + solver.getObjetiveValue()); - System.out.println("Fluxes:\t" + Arrays.toString(solver.getValues())); - } else { - logger.error("\nSolver returned null for " + resourceName); - } + + // Solver should return non-null object + assertNotNull(solver.solve()); + + // Objective value should math CobraPy answer with some tolerance + assertEquals(COBRA_OBJ_VAL, solver.getObjetiveValue(), eps); } }