From b75b42c95878b5a9952a04eb9abcc10c9a984f7f Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Mon, 22 Nov 2010 10:13:11 +0000 Subject: [PATCH] [LMS-1858] changed handling of nulls SVN: 18826 --- .../java/ch/systemsx/cisd/common/evaluator/Evaluator.java | 6 ++++-- .../ch/systemsx/cisd/common/evaluator/EvaluatorTest.java | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java b/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java index f64c121c2f5..1563a94d897 100644 --- a/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java +++ b/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java @@ -291,11 +291,13 @@ public final class Evaluator /** * Evaluates the expression of this evaluator and returns the result as a String. This method * can always be called. + * <p> + * NOTE: null will be returned if expression results in {@link PyNone} */ public String evalAsString() throws EvaluatorException { - doEval(); - return getInterpreterResult().toString(); + Object result = eval(); + return result == null ? null : result.toString(); } private void doEval() throws EvaluatorException diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/evaluator/EvaluatorTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/evaluator/EvaluatorTest.java index c1deafeba3f..954c6d6afa0 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/evaluator/EvaluatorTest.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/evaluator/EvaluatorTest.java @@ -40,6 +40,14 @@ public class EvaluatorTest Evaluator.initialize(); } + @Test + public void testEvalWithNull() + { + final Evaluator eval = new Evaluator("None"); + assertEquals(null, eval.eval()); + assertEquals(null, eval.evalAsString()); + } + @Test public void testSimpleExpression() { -- GitLab