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 | } |