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 / TestEvaluatePage.java @ 44390

History | View | Annotate | Download (3.46 KB)

1
package org.gvsig.expresionevaluator.impl;
2

    
3
import java.io.File;
4
import junit.framework.TestCase;
5
import org.gvsig.expressionevaluator.LexicalAnalyzer;
6
import org.gvsig.expressionevaluator.Compiler;
7
import org.gvsig.expressionevaluator.SymbolTable;
8
import org.gvsig.expressionevaluator.Interpreter;
9
import org.gvsig.expressionevaluator.Code;
10
import org.gvsig.expressionevaluator.Expression;
11
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
12
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
13
import org.gvsig.expressionevaluator.ExpressionUtils;
14
import org.gvsig.expressionevaluator.MutableSymbolTable;
15
import org.gvsig.tools.ToolsLocator;
16
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
17

    
18
public class TestEvaluatePage extends TestCase {
19
    
20
    public TestEvaluatePage(String testName) {
21
        super(testName);
22
    }
23
    
24
    @Override
25
    protected void setUp() throws Exception {
26
        super.setUp();
27
        new DefaultLibrariesInitializer().fullInitialize();
28
    }
29
    
30
    @Override
31
    protected void tearDown() throws Exception {
32
        super.tearDown();
33
    }
34

    
35
    // TODO add test methods here. The name must begin with 'test'. For example:
36
    // public void testHello() {}
37
    
38
    protected SymbolTable createSymbolTable() {
39
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
40
        MutableSymbolTable symbolTable = manager.createSymbolTable();
41
        symbolTable.setVar("precio", 200);
42
        symbolTable.setVar("PI", Math.PI);
43
        return symbolTable;
44
    }
45
    
46
    public void testSimple1() {
47
        
48
        SymbolTable symbolTable = createSymbolTable();
49
        String s = ExpressionUtils.evaluatePage(symbolTable, "el precion es <%=precio%>");
50

    
51
        assertEquals("el precion es 200", s);
52
    }
53
    
54
    public void testSimple2() {
55
        String s = ExpressionUtils.evaluatePage("el home es <%=HOME()%>");
56

    
57
        assertEquals("el home es "+ToolsLocator.getFoldersManager().getHome().toString(), s);
58
    }
59

    
60
    public void testSimple3() {
61
        String s = ExpressionUtils.evaluatePage("un fichero temporal <%=UNIQUETEMPORARYFILE('nombre.txt')%>");
62
        
63
        // El resultado viene a ser algo como:
64
        //   "un fichero temporal /tmp/tmp-gvsig/nombre-1-16d2f3e4f44.txt"
65
        if( !s.startsWith("un fichero temporal ") || !s.contains("nombre-") || !s.endsWith(".txt") ) {
66
            assertTrue("Expected 'un fichero temporal *nombre-*.txt' and found '"+s+"'", false);
67
        }
68
    }
69

    
70
    public void test1() {
71
        
72
        SymbolTable symbolTable = createSymbolTable();
73
        String s = ExpressionUtils.evaluatePage(symbolTable, "el precion es <%=precio%> y PI*100 es <%=TOINTEGER(PI*100)%>");
74

    
75
        assertEquals("el precion es 200 y PI*100 es 314", s);
76
    }
77
    
78
    public void testFilename1() {
79
        File source = new File("<%=UNIQUETEMPORARYFILE('nombre.txt')%>");
80
        File target = ExpressionUtils.evaluateFilename(source);
81
        
82
        // El resultado viene a ser algo como:
83
        //   /tmp/tmp-gvsig/nombre-1-16d2f3e4f44.txt
84
        String s = target.getAbsolutePath();
85
        if( !s.contains("nombre-") || !s.endsWith(".txt") ) {
86
            assertTrue("Expected '*nombre-*.txt' and found '"+s+"'", false);
87
        }
88
    }
89

    
90
    public void testFilename2() {
91
        File source = new File("/tmp/prueba.txt");
92
        File target = ExpressionUtils.evaluateFilename(source);
93
        
94
        String s = target.getAbsolutePath();
95
        assertEquals("/tmp/prueba.txt", s);
96
    }
97

    
98

    
99
}