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 @ 44397

History | View | Annotate | Download (3.25 KB)

1
package org.gvsig.expresionevaluator.impl;
2

    
3
import java.io.File;
4
import junit.framework.TestCase;
5
import org.gvsig.expressionevaluator.SymbolTable;
6
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
7
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
8
import org.gvsig.expressionevaluator.ExpressionUtils;
9
import org.gvsig.expressionevaluator.MutableSymbolTable;
10
import org.gvsig.tools.ToolsLocator;
11
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
12

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

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

    
46
        assertEquals("el precion es 200", s);
47
    }
48
    
49
    public void testSimple2() {
50
        String s = ExpressionUtils.evaluateDynamicText("el home es <%=HOME()%>");
51

    
52
        assertEquals("el home es "+ToolsLocator.getFoldersManager().getHome().toString(), s);
53
    }
54

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

    
65
    public void test1() {
66
        
67
        SymbolTable symbolTable = createSymbolTable();
68
        String s = ExpressionUtils.evaluateDynamicText(symbolTable, "el precion es <%=precio%> y PI*100 es <%=TOINTEGER(PI*100)%>");
69

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

    
85
    public void testFilename2() {
86
        File source = new File("/tmp/prueba.txt");
87
        File target = ExpressionUtils.evaluateFilename(source);
88
        
89
        String s = target.getAbsolutePath();
90
        assertEquals("/tmp/prueba.txt", s);
91
    }
92

    
93

    
94
}