Revision 47734 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
TestGrammarCompiler.java | ||
---|---|---|
153 | 153 |
|
154 | 154 |
Code code = compiler.compileExpression(source); |
155 | 155 |
link(code); |
156 |
checkEquals("BEGIN \"V1\" := 11; \"V2\" := 22; EXCEPTION -1 END ", code.toString());
|
|
156 |
checkEquals("BEGIN \"V1\" := 11; \"V2\" := 22; EXCEPT -1 END ", code.toString()); |
|
157 | 157 |
} |
158 | 158 |
|
159 | 159 |
public void testBlock3() { |
... | ... | |
187 | 187 |
|
188 | 188 |
Code code = compiler.compileExpression(source); |
189 | 189 |
link(code); |
190 |
checkEquals("IF (\"V1\" = 11) THEN \"V2\" := 11 ELSE \"V2\" := 22 END IF", code.toString());
|
|
190 |
checkEquals("IF (\"V1\" = 11) THEN \"V2\" := 11; ELSE \"V2\" := 22; END IF", code.toString());
|
|
191 | 191 |
} |
192 | 192 |
|
193 | 193 |
public void testIfThenPassElsePass() { |
... | ... | |
197 | 197 |
|
198 | 198 |
Code code = compiler.compileExpression(source); |
199 | 199 |
link(code); |
200 |
checkEquals("IF (\"V1\" = 11) THEN PASS ELSE PASS END IF", code.toString());
|
|
200 |
checkEquals("IF (\"V1\" = 11) THEN PASS; ELSE PASS; END IF", code.toString());
|
|
201 | 201 |
} |
202 | 202 |
|
203 | 203 |
public void testIfThenBlock() { |
... | ... | |
207 | 207 |
|
208 | 208 |
Code code = compiler.compileExpression(source); |
209 | 209 |
link(code); |
210 |
checkEquals("IF (\"V1\" = 11) THEN BEGIN \"V2\" := 22; \"V1\" := 10; END END IF", code.toString());
|
|
210 |
checkEquals("IF (\"V1\" = 11) THEN \"V2\" := 22; \"V1\" := 10; END IF", code.toString());
|
|
211 | 211 |
} |
212 | 212 |
|
213 | 213 |
public void testWhile() { |
... | ... | |
217 | 217 |
|
218 | 218 |
Code code = compiler.compileExpression(source); |
219 | 219 |
link(code); |
220 |
checkEquals("WHILE \"(\"n\" < 10) LOOP \"n\" := (\"n\" + 1) END LOOP", code.toString());
|
|
220 |
checkEquals("WHILE (\"n\" < 10) LOOP \"n\" := (\"n\" + 1) END LOOP ", code.toString());
|
|
221 | 221 |
} |
222 | 222 |
|
223 | 223 |
public void testWhileBlock() { |
... | ... | |
227 | 227 |
|
228 | 228 |
Code code = compiler.compileExpression(source); |
229 | 229 |
link(code); |
230 |
checkEquals("WHILE \"(\"n\" < 10) LOOP BEGIN \"n\" := (\"n\" + 1); print(\"n\"); END END LOOP", code.toString());
|
|
230 |
checkEquals("WHILE (\"n\" < 10) LOOP \"n\" := (\"n\" + 1); print(\"n\"); END LOOP ", code.toString());
|
|
231 | 231 |
} |
232 | 232 |
|
233 | 233 |
public void testWhileBreak() { |
... | ... | |
237 | 237 |
|
238 | 238 |
Code code = compiler.compileExpression(source); |
239 | 239 |
link(code); |
240 |
checkEquals("WHILE \"(\"n\" < 10) LOOP BEGIN \"n\" := (\"n\" + 1); print(\"n\"); BREAK; END END LOOP", code.toString());
|
|
240 |
checkEquals("WHILE (\"n\" < 10) LOOP \"n\" := (\"n\" + 1); print(\"n\"); BREAK; END LOOP ", code.toString());
|
|
241 | 241 |
} |
242 | 242 |
|
243 | 243 |
public void testCast() { |
... | ... | |
298 | 298 |
|
299 | 299 |
Code code = compiler.compileExpression(source); |
300 | 300 |
link(code); |
301 |
checkEquals("FOR \"n\" IN RANGE(10) LOOP BEGIN print(\"n\"); BREAK; END END LOOP", code.toString());
|
|
301 |
checkEquals("FOR \"n\" IN RANGE(10) LOOP print(\"n\"); BREAK; END LOOP", code.toString());
|
|
302 | 302 |
Code code2 = compiler.compileExpression(code.toString()); |
303 | 303 |
link(code2); |
304 |
checkEquals("FOR \"n\" IN RANGE(10) LOOP BEGIN print(\"n\"); BREAK; END END LOOP", code2.toString());
|
|
304 |
checkEquals("FOR \"n\" IN RANGE(10) LOOP print(\"n\"); BREAK; END LOOP", code2.toString());
|
|
305 | 305 |
} |
306 | 306 |
|
307 | 307 |
public void testForEach2() { |
... | ... | |
330 | 330 |
|
331 | 331 |
Code code = compiler.compileExpression(source); |
332 | 332 |
link(code); |
333 |
checkEquals("CASE WHEN (\"software\" LIKE '%gvSIG%') THEN 'gvSIG' ELSE 'Other' END", code.toString());
|
|
333 |
checkEquals("CASE WHEN (\"software\" LIKE '%gvSIG%') THEN 'gvSIG'; ELSE 'Other'; END", code.toString());
|
|
334 | 334 |
} |
335 | 335 |
|
336 | 336 |
public void testCase1() { |
337 |
String source = "CASE WHEN software LIKE '%gvSIG%' THEN 'gvSIG'; ELSE 'Other'; END CASE"; // ;)
|
|
337 |
String source = "CASE WHEN software LIKE '%gvSIG%' THEN 10; 'gvSIG'; ELSE 20;'Other'; END CASE"; // ;)
|
|
338 | 338 |
|
339 | 339 |
Compiler compiler = createCompiler(); |
340 | 340 |
|
341 | 341 |
Code code = compiler.compileExpression(source); |
342 | 342 |
link(code); |
343 |
checkEquals("CASE WHEN (\"software\" LIKE '%gvSIG%') THEN 'gvSIG' ELSE 'Other' END", code.toString());
|
|
343 |
checkEquals("CASE WHEN (\"software\" LIKE '%gvSIG%') THEN 10; 'gvSIG'; ELSE 20; 'Other'; END", code.toString());
|
|
344 | 344 |
} |
345 | 345 |
|
346 | 346 |
public void testCase2() { |
... | ... | |
350 | 350 |
|
351 | 351 |
Code code = compiler.compileExpression(source); |
352 | 352 |
link(code); |
353 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100 WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110 END", code.toString());
|
|
353 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100; WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110; END", code.toString());
|
|
354 | 354 |
} |
355 | 355 |
|
356 | 356 |
public void testCase3() { |
... | ... | |
360 | 360 |
|
361 | 361 |
Code code = compiler.compileExpression(source); |
362 | 362 |
link(code); |
363 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100 WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110 ELSE 120 END", code.toString());
|
|
363 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100; WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110; ELSE 120; END", code.toString());
|
|
364 | 364 |
} |
365 | 365 |
|
366 | 366 |
public void testCase3b() { |
... | ... | |
369 | 369 |
Compiler compiler = createCompiler(); |
370 | 370 |
Code code = compiler.compileExpression(source); |
371 | 371 |
link(code); |
372 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100 WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110 ELSE 120 END", code.toString());
|
|
372 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100; WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110; ELSE 120; END", code.toString());
|
|
373 | 373 |
code = compiler.compileExpression(code.toString()); |
374 | 374 |
link(code); |
375 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100 WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110 ELSE 120 END", code.toString());
|
|
375 |
checkEquals("CASE WHEN ((\"Field_1\" >= 75) AND (\"Field_1\" <= 79)) THEN 100; WHEN ((\"Field_1\" >= 80) AND (\"Field_1\" <= 84)) THEN 110; ELSE 120; END", code.toString());
|
|
376 | 376 |
} |
377 | 377 |
|
378 | 378 |
public void testDef1() { |
Also available in: Unified diff