Revision 44533 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/TestGrammarCompiler.java

View differences:

TestGrammarCompiler.java
126 126
        Compiler compiler = createCompiler();
127 127

  
128 128
        Code code = compiler.compileExpression(source);
129
        assertEquals("IFF((\"V1\" = 11), LET('V2', 22))", code.toString());
129
        assertEquals("IFF((\"V1\" = 11), LET('V2', 22), NULL)", code.toString());
130 130
    }
131 131

  
132 132
    public void testIfThenElse() {
......
144 144
        Compiler compiler = createCompiler();
145 145

  
146 146
        Code code = compiler.compileExpression(source);
147
        assertEquals("IFF((\"V1\" = 11), BLOCK(LET('V2', 22), LET('V1', 10)))", code.toString());
147
        assertEquals("IFF((\"V1\" = 11), BLOCK(LET('V2', 22), LET('V1', 10)), NULL)", code.toString());
148 148
    }
149 149

  
150 150
    public void testWhile() {
......
243 243
        Compiler compiler = createCompiler();
244 244

  
245 245
        Code code = compiler.compileExpression(source);
246
        assertEquals("CASE(((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)), ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)), 100, 110)", code.toString());
246
        assertEquals("CASE(((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)), ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)), 100, 110, NULL)", code.toString());
247 247
    }
248 248
    
249 249
    public void testCase3() {
......
256 256
    }
257 257
    
258 258
    public void testDef1() {
259
        String source = "CREATE PROCEDURE test1 AS print('Hola'); END PROCEDURE"; 
259
        String source = "CREATE PROCEDURE test1 AS BEGIN print('Hola'); END PROCEDURE"; 
260 260

  
261 261
        Compiler compiler = createCompiler();
262 262

  
263 263
        Code code = compiler.compileExpression(source);
264
        assertEquals("CREATE_FUNCTION('test1', print('Hola'))", code.toString());
264
        assertEquals("CREATE_FUNCTION('test1', NULL, print('Hola'), NULL, NULL, NULL)", code.toString());
265 265
    }
266 266
    
267 267
    public void testDef2() {
268
        String source = "CREATE PROCEDURE test1 nombre AS print('Hola '+nombre); END PROCEDURE";
268
        String source = "CREATE PROCEDURE test1 nombre AS BEGIN print('Hola '+nombre); END PROCEDURE";
269 269

  
270 270
        Compiler compiler = createCompiler();
271 271

  
272 272
        Code code = compiler.compileExpression(source);
273
        assertEquals("CREATE_FUNCTION('test1', LIST('nombre'), print(('Hola ' + \"nombre\")))", code.toString());
273
        assertEquals("CREATE_FUNCTION('test1', LIST('nombre'), print(('Hola ' + \"nombre\")), NULL, NULL, NULL)", code.toString());
274 274
    }
275 275

  
276 276
    public void testDef3() {
277
        String source = "CREATE PROCEDURE test1 nombre AS RETURN 'Hola '||nombre; END PROCEDURE";
277
        String source = "CREATE PROCEDURE test1 nombre AS BEGIN RETURN 'Hola '||nombre; END PROCEDURE";
278 278

  
279 279
        Compiler compiler = createCompiler();
280 280

  
281 281
        Code code = compiler.compileExpression(source);
282
        assertEquals("CREATE_FUNCTION('test1', LIST('nombre'), RETURN(('Hola ' || \"nombre\")))", code.toString());
282
        assertEquals("CREATE_FUNCTION('test1', LIST('nombre'), RETURN(('Hola ' || \"nombre\")), NULL, NULL, NULL)", code.toString());
283 283
    }
284
    
285
    public void testCreateFunctionExtern1() {
286
        String source = "CREATE FUNCTION test1(nombre) AS 'addons/test/test', test1";
284 287

  
288
        Compiler compiler = createCompiler();
289

  
290
        Code code = compiler.compileExpression(source);
291
        assertEquals("CREATE_FUNCTION('test1', LIST('nombre'), NULL, 'addons/test/test', 'test1', NULL)", code.toString());
292
    }
293
    
285 294
    public void testList() {
286 295
        String source = "set x TO LIST('hola','adios','fin')";
287 296

  

Also available in: Unified diff