Revision 44748 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/expressionevaluator/TestGrammarCompiler.java

View differences:

TestGrammarCompiler.java
187 187
        String id = "????????????????????????????????";
188 188
        String s = code.toString();
189 189
        s = s.substring(0, s.length()-id.length()-2)+id+s.substring(s.length()-2);
190
        assertEquals("EXISTS(NULL, '????????????????????????????????')", s);
190
        assertEquals("EXISTS(NULL, 'EXISTS????????????????????????????????')", s);
191 191
    }
192 192

  
193 193
    public void testExistsSelect1() {
......
204 204
        String id = "????????????????????????????????";
205 205
        String s = code.toString();
206 206
        s = s.substring(0, s.length()-id.length()-2)+id+s.substring(s.length()-2);
207
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:(\"countries\".\"LASTCENSUS\" > 0)), '????????????????????????????????')", s);
207
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:(\"countries\".\"LASTCENSUS\" > 0)), 'EXISTS????????????????????????????????')", s);
208 208
    }
209 209

  
210 210
    public void testExistsSelectLimit1() {
......
222 222
        String id = "????????????????????????????????";
223 223
        String s = code.toString();
224 224
        s = s.substring(0, s.length()-id.length()-2)+id+s.substring(s.length()-2);
225
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:(\"countries\".\"LASTCENSUS\" > 0), LIMIT:1), '????????????????????????????????')", s);
225
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:(\"countries\".\"LASTCENSUS\" > 0), LIMIT:1), 'EXISTS????????????????????????????????')", s);
226 226
    }
227 227

  
228 228
    public void testExistsSelectLimit2() {
......
245 245
        String id = "????????????????????????????????";
246 246
        String s = code.toString();
247 247
        s = s.substring(0, s.length()-id.length()-2)+id+s.substring(s.length()-2);
248
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:((\"continents\".\"NAME\" = \"countries\".\"CONTINENT\") AND (\"countries\".\"LASTCENSUS\" < 0)), LIMIT:1), '????????????????????????????????')", s);
248
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:((\"continents\".\"NAME\" = \"countries\".\"CONTINENT\") AND (\"countries\".\"LASTCENSUS\" < 0)), LIMIT:1), 'EXISTS????????????????????????????????')", s);
249 249
    }
250 250

  
251
    public void testExistsSelectLimit3() {
252
        // Sobre la tabla de continentes, para obtener la lista de continentes 
253
        // que tienen paises sin censo.
254
        // Filtramos continentes por un campo del pais.
255
        StringBuilder source = new StringBuilder();
256
        source.append("EXISTS(");
257
        source.append(" SELECT 1 FROM countries");
258
        source.append("   WHERE ");
259
        source.append("     continents.NAME = countries.CONTINENT AND ");
260
        source.append("     countries.LASTCENSUS < 0 ");
261
        source.append("   LIMIT 1; ");
262
        source.append(" ,");
263
        source.append(" 'patata'");
264
        source.append(")");
265

  
266
        Compiler compiler = createCompiler();
267

  
268
        Code code = compiler.compileExpression(source.toString());
269
        link(code);
270
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:((\"continents\".\"NAME\" = \"countries\".\"CONTINENT\") AND (\"countries\".\"LASTCENSUS\" < 0)), LIMIT:1), 'patata')", code.toString());
271
    }
272

  
273
    public void testExistsSelectLimit4() {
274
        StringBuilder source = new StringBuilder();
275
        source.append("EXISTS(");
276
        source.append(" SELECT(");
277
        source.append("   TABLE:'countries', ");
278
        source.append("   WHERE:(countries.LASTCENSUS > 0), ");
279
        source.append("   LIMIT:1 ");
280
        source.append("  ) ");
281
        source.append(" , ");
282
        source.append(" 'EXISTS1234567890ABCDEFGHHIJKLMNOPQRSTU' ");
283
        source.append(") ");
284

  
285
        Compiler compiler = createCompiler();
286

  
287
        Code code = compiler.compileExpression(source.toString());
288
        link(code);
289
        String id = "????????????????????????????????";
290
        String s = code.toString();
291
        s = s.substring(0, s.length()-id.length()-2)+id+s.substring(s.length()-2);
292
        assertEquals("EXISTS(SELECT(TABLE:'countries', WHERE:(\"countries\".\"LASTCENSUS\" > 0), LIMIT:1), 'EXISTS????????????????????????????????')", s);
293
    }
294

  
251 295
}

Also available in: Unified diff