Statistics
| Revision:

svn-gvsig-desktop / 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 / TestExpression.java @ 44614

History | View | Annotate | Download (2.2 KB)

1
package org.gvsig.expresionevaluator.impl;
2

    
3
import junit.framework.TestCase;
4
import org.gvsig.expressionevaluator.Expression;
5
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
6
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
7
import org.gvsig.expressionevaluator.MutableSymbolTable;
8
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
9

    
10

    
11
public class TestExpression extends TestCase {
12
    
13
    public TestExpression(String testName) {
14
        super(testName);
15
    }
16
    
17
    @Override
18
    protected void setUp() throws Exception {
19
        super.setUp();
20
        new DefaultLibrariesInitializer().fullInitialize();
21
    }
22
    
23
    @Override
24
    protected void tearDown() throws Exception {
25
        super.tearDown();
26
    }
27

    
28
    private MutableSymbolTable createMutableSymbolTable() {
29
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
30
        MutableSymbolTable t = manager.createSymbolTable();
31
        return  t;
32
    }
33
    
34
    private Expression createExpression() {
35
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
36
        Expression e = manager.createExpression();
37
        return  e;
38
    }
39
    
40
    
41
    // TODO add test methods here. The name must begin with 'test'. For example:
42
    // public void testHello() {}
43

    
44
    
45
    public void testToJSON1() {
46
        String source = "precio + 10";
47

    
48
        Expression expression = createExpression();
49
        expression.setPhrase(source);
50
        
51
        assertEquals(
52
                "{\"phrase\":\"precio + 10\"}", 
53
                expression.toJSON()
54
        );
55
    }
56
    
57
    public void testA() {
58
        
59
        Expression expression = createExpression();
60
        expression.setPhrase("precio * 10");
61
        
62
        MutableSymbolTable t1 = createMutableSymbolTable();
63
        t1.setVar("precio", 2);
64
        Object v1 = expression.execute(t1);
65
        assertEquals(20, (int)v1);
66
        
67
        t1.setVar("precio", 3);
68
        v1 = expression.execute(t1);
69
        assertEquals(30, (int)v1);
70
        
71
        MutableSymbolTable t2 = createMutableSymbolTable();
72
        t2.setVar("precio", 4);
73
        v1 = expression.execute(t2);
74
        assertEquals(40, (int)v1);
75
        
76
    }
77
    
78
}