|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.api.debugger.jpda;
/**
* Tests evaluation of various expressions.
*
* @author Maros Sandor
*/
public class EvaluationTest extends DebuggerJPDAApiTestBase {
private JPDASupport support;
private JPDADebugger debugger;
public EvaluationTest(String s) {
super(s);
}
protected void setUp() throws Exception {
super.setUp();
support = JPDASupport.listen("basic.EvalApp");
debugger = support.getDebugger();
}
public void testStaticEvaluation() throws Exception {
try {
checkEval("1", 1);
checkEval("4.3", 4.3);
checkEval("ix", 74);
checkEvalFails("this");
checkEvalFails("NoSuchClass.class");
} finally {
support.doFinish();
}
}
public void testStaticExpressions() throws Exception {
try {
checkEval("ix * fx", 740.0f);
checkEval("sx % 3", 1);
checkEvalFails("ix * fx ** fx");
} finally {
support.doFinish();
}
}
private void checkEval(String expression, int value) throws InvalidExpressionException {
Variable var = debugger.evaluate(expression);
assertEquals("Evaluation of expression failed (wrong value): " + expression, value, Integer.parseInt(var.getValue()), 0);
assertEquals("Evaluation of expression failed (wrong type of result): " + expression, "int", var.getType());
}
private void checkEval(String expression, float value) throws InvalidExpressionException {
Variable var = debugger.evaluate(expression);
assertEquals("Evaluation of expression failed (wrong value): " + expression, value, Float.parseFloat(var.getValue()), 0);
assertEquals("Evaluation of expression failed (wrong type of result): " + expression, "float", var.getType());
}
private void checkEval(String expression, double value) throws InvalidExpressionException {
Variable var = debugger.evaluate(expression);
assertEquals("Evaluation of expression failed (wrong value): " + expression, value, Double.parseDouble(var.getValue()), 0);
assertEquals("Evaluation of expression failed (wrong type of result): " + expression, "double", var.getType());
}
private void checkEval(String expression, String type, String value) throws InvalidExpressionException {
Variable var = debugger.evaluate(expression);
assertEquals("Evaluation of expression failed (wrong value): " + expression, value, var.getValue());
assertEquals("Evaluation of expression failed (wrong type of result): " + expression, type, var.getType());
}
private void checkEvalFails(String expression) {
try {
Variable var = debugger.evaluate(expression);
fail("Evaluation of expression was unexpectedly successful: " + expression + " = " + var.getValue());
} catch (InvalidExpressionException e) {
// its ok
return;
}
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.