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 / TestEvaluateDynamicText.java @ 44614

History | View | Annotate | Download (3.26 KB)

1 43512 jjdelcerro
package org.gvsig.expresionevaluator.impl;
2
3 44390 jjdelcerro
import java.io.File;
4 43512 jjdelcerro
import junit.framework.TestCase;
5
import org.gvsig.expressionevaluator.SymbolTable;
6 44139 jjdelcerro
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
7
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
8 44390 jjdelcerro
import org.gvsig.expressionevaluator.ExpressionUtils;
9 44139 jjdelcerro
import org.gvsig.expressionevaluator.MutableSymbolTable;
10 44390 jjdelcerro
import org.gvsig.tools.ToolsLocator;
11 44098 jjdelcerro
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
12 43512 jjdelcerro
13 44421 jjdelcerro
public class TestEvaluateDynamicText extends TestCase {
14 43512 jjdelcerro
15 44421 jjdelcerro
    public TestEvaluateDynamicText(String testName) {
16 43512 jjdelcerro
        super(testName);
17
    }
18
19
    @Override
20
    protected void setUp() throws Exception {
21
        super.setUp();
22 44098 jjdelcerro
        new DefaultLibrariesInitializer().fullInitialize();
23 43512 jjdelcerro
    }
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 44139 jjdelcerro
33 43512 jjdelcerro
    protected SymbolTable createSymbolTable() {
34 44139 jjdelcerro
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
35
        MutableSymbolTable symbolTable = manager.createSymbolTable();
36 43939 jjdelcerro
        symbolTable.setVar("precio", 200);
37 44390 jjdelcerro
        symbolTable.setVar("PI", Math.PI);
38 43512 jjdelcerro
        return symbolTable;
39
    }
40
41 44390 jjdelcerro
    public void testSimple1() {
42 43512 jjdelcerro
43
        SymbolTable symbolTable = createSymbolTable();
44 44397 jjdelcerro
        String s = ExpressionUtils.evaluateDynamicText(symbolTable, "el precion es <%=precio%>");
45 44139 jjdelcerro
46 44390 jjdelcerro
        assertEquals("el precion es 200", s);
47 43512 jjdelcerro
    }
48
49 44390 jjdelcerro
    public void testSimple2() {
50 44397 jjdelcerro
        String s = ExpressionUtils.evaluateDynamicText("el home es <%=HOME()%>");
51 44139 jjdelcerro
52 44390 jjdelcerro
        assertEquals("el home es "+ToolsLocator.getFoldersManager().getHome().toString(), s);
53 43512 jjdelcerro
    }
54 44139 jjdelcerro
55 44390 jjdelcerro
    public void testSimple3() {
56 44397 jjdelcerro
        String s = ExpressionUtils.evaluateDynamicText("un fichero temporal <%=UNIQUETEMPORARYFILE('nombre.txt')%>");
57 43512 jjdelcerro
58 44390 jjdelcerro
        // 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 43512 jjdelcerro
    }
64 44384 jjdelcerro
65 44390 jjdelcerro
    public void test1() {
66 44384 jjdelcerro
67 43512 jjdelcerro
        SymbolTable symbolTable = createSymbolTable();
68 44397 jjdelcerro
        String s = ExpressionUtils.evaluateDynamicText(symbolTable, "el precion es <%=precio%> y PI*100 es <%=TOINTEGER(PI*100)%>");
69 44139 jjdelcerro
70 44390 jjdelcerro
        assertEquals("el precion es 200 y PI*100 es 314", s);
71 43512 jjdelcerro
    }
72
73 44390 jjdelcerro
    public void testFilename1() {
74
        File source = new File("<%=UNIQUETEMPORARYFILE('nombre.txt')%>");
75
        File target = ExpressionUtils.evaluateFilename(source);
76 44098 jjdelcerro
77 44390 jjdelcerro
        // 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 44098 jjdelcerro
    }
84 44139 jjdelcerro
85 44390 jjdelcerro
    public void testFilename2() {
86
        File source = new File("/tmp/prueba.txt");
87
        File target = ExpressionUtils.evaluateFilename(source);
88 44098 jjdelcerro
89 44390 jjdelcerro
        String s = target.getAbsolutePath();
90
        assertEquals("/tmp/prueba.txt", s);
91 44098 jjdelcerro
    }
92 44139 jjdelcerro
93
94 44390 jjdelcerro
}