Revision 44855 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/java/org/gvsig/expresionevaluator/impl/TestInterpreter.java
TestInterpreter.java | ||
---|---|---|
1 | 1 |
package org.gvsig.expresionevaluator.impl; |
2 | 2 |
|
3 | 3 |
import junit.framework.TestCase; |
4 |
import org.apache.commons.lang3.StringUtils; |
|
5 |
import org.gvsig.expressionevaluator.AttributeHandler; |
|
4 | 6 |
import org.gvsig.expressionevaluator.LexicalAnalyzer; |
5 | 7 |
import org.gvsig.expressionevaluator.Compiler; |
6 | 8 |
import org.gvsig.expressionevaluator.SymbolTable; |
... | ... | |
46 | 48 |
} |
47 | 49 |
|
48 | 50 |
|
49 |
protected SymbolTable createSymbolTable() { |
|
51 |
protected MutableSymbolTable createSymbolTable() {
|
|
50 | 52 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
51 | 53 |
MutableSymbolTable symbolTable = manager.createSymbolTable(); |
52 | 54 |
symbolTable.setVar("precio", 200); |
... | ... | |
512 | 514 |
assertEquals("dos", (String)v); |
513 | 515 |
} |
514 | 516 |
|
517 |
public void testGetattr1() { |
|
518 |
MutableSymbolTable symbolTable = createSymbolTable(); |
|
519 |
Compiler compiler = createCompiler(); |
|
520 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
521 |
compiler.getLexicalAnalyzer().setUseBracketsForIdentifiers(false); |
|
522 |
|
|
523 |
symbolTable.setVar( |
|
524 |
"PARCELA", |
|
525 |
(AttributeHandler) (String key) -> StringUtils.equalsIgnoreCase(key, "MASA")? "100":null |
|
526 |
); |
|
527 |
String source = "PARCELA.MASA" ; |
|
528 |
|
|
529 |
Code code = compiler.compileExpression(source); |
|
530 |
assertEquals("GETATTR(\"PARCELA\", 'MASA')", code.toString()); |
|
531 |
|
|
532 |
Object v = interpreter.run(code); |
|
533 |
assertEquals("100", (String)v); |
|
534 |
} |
|
515 | 535 |
} |
Also available in: Unified diff