parsers/java/PPJavaParserTest.st
changeset 435 3bc08fb90133
child 436 e1c44b571db9
equal deleted inserted replaced
434:840942b96eea 435:3bc08fb90133
       
     1 "{ Encoding: utf8 }"
       
     2 
       
     3 "{ Package: 'stx:goodies/petitparser/parsers/java' }"
       
     4 
       
     5 "{ NameSpace: Smalltalk }"
       
     6 
       
     7 PPJavaSyntaxTest subclass:#PPJavaParserTest
       
     8 	instanceVariableNames:''
       
     9 	classVariableNames:''
       
    10 	poolDictionaries:''
       
    11 	category:'PetitJava-Tests'
       
    12 !
       
    13 
       
    14 PPJavaParserTest comment:''
       
    15 !
       
    16 
       
    17 !PPJavaParserTest methodsFor:'accessing'!
       
    18 
       
    19 parserClass
       
    20 	^ PPJavaParser 
       
    21 ! !
       
    22 
       
    23 !PPJavaParserTest methodsFor:'as yet unclassified'!
       
    24 
       
    25 testCharacterLiteral1
       
    26 	super testCharacterLiteral1.
       
    27 	self assert: result class equals: PJCharacterLiteralNode.
       
    28 	self assert: result literalValue equals: 'a'
       
    29 !
       
    30 
       
    31 testCharacterLiteral2
       
    32 	super testCharacterLiteral2.
       
    33 	self assert: result class equals: PJCharacterLiteralNode.
       
    34 	self assert: result literalValue equals: '%'
       
    35 !
       
    36 
       
    37 testCharacterLiteral3
       
    38 	super testCharacterLiteral3.
       
    39 	self assert: result class equals: PJCharacterLiteralNode.
       
    40 	self assert: result literalValue equals: '\t'
       
    41 !
       
    42 
       
    43 testCharacterLiteral4
       
    44 	super testCharacterLiteral4.
       
    45 	self assert: result class equals: PJCharacterLiteralNode.
       
    46 	self assert: result literalValue equals: '\\'
       
    47 !
       
    48 
       
    49 testCharacterLiteral5
       
    50 	super testCharacterLiteral5.
       
    51 	self assert: result class equals: PJCharacterLiteralNode.
       
    52 	self assert: result literalValue equals: '\'''
       
    53 !
       
    54 
       
    55 testCharacterLiteral8
       
    56 	super testCharacterLiteral8.
       
    57 	self assert: result class equals: PJCharacterLiteralNode.
       
    58 	self assert: result literalValue equals:  '\177'
       
    59 !
       
    60 
       
    61 testComment1 
       
    62 	super testComment1.
       
    63 	self assert: result class equals: PJEndOfLineCommentsNode.
       
    64 	self assert: (result comment ) equals: '' .
       
    65 !
       
    66 
       
    67 testComment2
       
    68 	super testComment2.
       
    69 	self assert: result class equals: PJEndOfLineCommentsNode.
       
    70 	self assert: (result comment ) equals: 'comment' .
       
    71 
       
    72 
       
    73 !
       
    74 
       
    75 testComment3
       
    76 	super testComment3.
       
    77 	self assert: result class equals: PJEndOfLineCommentsNode .
       
    78  		self assert: (result comment ) equals: ' comment' .
       
    79 !
       
    80 
       
    81 testComment4
       
    82 	super testComment4.
       
    83 	self assert: result class equals: PJTraditionalCommentsNode.
       
    84  	self assert: (result comment) equals: ' comment ' .
       
    85 !
       
    86 
       
    87 testComment6
       
    88 	super testComment6.
       
    89 	self assert: result class equals: PJTraditionalCommentsNode.
       
    90 	self assert: (result comment) equals: ' this comment /* // /** ends here: ' .
       
    91 
       
    92 !
       
    93 
       
    94 testComment7
       
    95 	super testComment7.
       
    96 	self assert: result class equals: PJTraditionalCommentsNode .
       
    97 	self assert: (result comment) equals: '*     * @param args      * @return void     '.
       
    98 !
       
    99 
       
   100 testSeparator1
       
   101 super testSeparator1.
       
   102 	self assert: result class equals: PJSeparatorNode .
       
   103 	self assert: result  separatorValue equals: '{' .
       
   104 ! !
       
   105 
       
   106 !PPJavaParserTest methodsFor:'testing'!
       
   107 
       
   108 testBlock1
       
   109 	super testBlock1.
       
   110 	self assert: result class equals: PJBlockNode.
       
   111 	self assert: result statements isEmpty
       
   112 !
       
   113 
       
   114 testBlock2
       
   115 	super testBlock2.
       
   116 	self assert: result class equals: PJBlockNode.
       
   117 	self assert: result statements size equals: 2
       
   118 !
       
   119 
       
   120 testFloatLiteral1
       
   121 	super testFloatLiteral1.
       
   122 	self assert: result class equals: PJFloatLiteralNode.
       
   123 	self assert: result literalValue equals: '1e1'.
       
   124 	self assert: result isFloat
       
   125 !
       
   126 
       
   127 testFloatLiteral10
       
   128 	super testFloatLiteral10.
       
   129 	self assert: result class equals: PJFloatLiteralNode.
       
   130 	self assert: result literalValue equals: '0.0'.
       
   131 	self assert: result isFloat not.
       
   132 !
       
   133 
       
   134 testFloatLiteral11
       
   135 	super testFloatLiteral11.
       
   136 	self assert: result class equals: PJFloatLiteralNode.
       
   137 	self assert: result literalValue equals: '3.14'.
       
   138 	self assert: result isFloat not.
       
   139 !
       
   140 
       
   141 testFloatLiteral12
       
   142 	super testFloatLiteral12.
       
   143 	self assert: result class equals: PJFloatLiteralNode.
       
   144 	self assert: result literalValue equals: '1e-9d'.
       
   145 	self assert: result isFloat not.
       
   146 !
       
   147 
       
   148 testFloatLiteral13
       
   149 	super testFloatLiteral13.
       
   150 	self assert: result class equals: PJFloatLiteralNode.
       
   151 	self assert: result literalValue equals: '1e137'.
       
   152 	self assert: result isFloat not.
       
   153 !
       
   154 
       
   155 testFloatLiteral2
       
   156 	super testFloatLiteral2.
       
   157 	self assert: result class equals: PJFloatLiteralNode.
       
   158 	self assert: result literalValue equals: '2.'.
       
   159 	self assert: result isFloat
       
   160 !
       
   161 
       
   162 testFloatLiteral3
       
   163 	super testFloatLiteral3.
       
   164 	self assert: result class equals: PJFloatLiteralNode.
       
   165 	self assert: result literalValue equals: '.3'.
       
   166 	self assert: result isFloat
       
   167 !
       
   168 
       
   169 testFloatLiteral4
       
   170 	super testFloatLiteral4.
       
   171 	self assert: result class equals: PJFloatLiteralNode.
       
   172 	self assert: result literalValue equals: '0'.
       
   173 	self assert: result isFloat
       
   174 !
       
   175 
       
   176 testFloatLiteral5
       
   177 	super testFloatLiteral5.
       
   178 	self assert: result class equals: PJFloatLiteralNode.
       
   179 	self assert: result literalValue equals: '3.14'.
       
   180 	self assert: result isFloat
       
   181 !
       
   182 
       
   183 testFloatLiteral6
       
   184 	super testFloatLiteral6.
       
   185 	self assert: result class equals: PJFloatLiteralNode.
       
   186 	self assert: result literalValue equals: '6.022137e+23'.
       
   187 	self assert: result isFloat
       
   188 !
       
   189 
       
   190 testFloatLiteral7
       
   191 	super testFloatLiteral7.
       
   192 	self assert: result class equals: PJFloatLiteralNode.
       
   193 	self assert: result literalValue equals: '1e1'.
       
   194 	self assert: result isFloat not.
       
   195 !
       
   196 
       
   197 testFloatLiteral8
       
   198 	super testFloatLiteral8.
       
   199 	self assert: result class equals: PJFloatLiteralNode.
       
   200 	self assert: result literalValue equals: '2.'.
       
   201 	self assert: result isFloat not.
       
   202 !
       
   203 
       
   204 testFloatLiteral9
       
   205 	super testFloatLiteral9.
       
   206 	self assert: result class equals: PJFloatLiteralNode.
       
   207 	self assert: result literalValue equals: '.3'.
       
   208 	self assert: result isFloat not.
       
   209 !
       
   210 
       
   211 testMethodDeclaration3
       
   212 	super testMethodDeclaration3.
       
   213 	self assert: result class equals: PJMethodDeclarationNode.
       
   214 	self assert: result body class equals: PJBlockNode
       
   215 !
       
   216 
       
   217 testMethodDeclaration4
       
   218 	super testMethodDeclaration4.
       
   219 	self assert: result class equals: PJMethodDeclarationNode.
       
   220 	self assert: result body class equals: PJBlockNode.
       
   221 	self assert: result parameters size equals: 2
       
   222 !
       
   223 
       
   224 testNormalParameterDecl1
       
   225 	super testNormalParameterDecl1.
       
   226 	self assert: result class equals: PJParameterDeclaratorNode.
       
   227 	self assert: result identifier class equals: PJIdentifierNode.
       
   228 	self assert: result arrayLevel equals: 1.
       
   229 	self assert: result modifiers size equals: 1
       
   230 !
       
   231 
       
   232 testNormalParameterDecl2
       
   233 	super testNormalParameterDecl2.
       
   234 	self assert: result class equals: PJParameterDeclaratorNode.
       
   235 	self assert: result identifier class equals: PJIdentifierNode.
       
   236 	self assert: result arrayLevel equals: 0.
       
   237 	self assert: result modifiers size equals: 0
       
   238 !
       
   239 
       
   240 testStatement1 
       
   241 	super testStatement1.
       
   242 	self assert: result class equals: PJExpressionStatementNode
       
   243 !
       
   244 
       
   245 testStatement3 
       
   246 	super testStatement3.
       
   247 	self assert: result class equals: PJBlockNode.
       
   248 	self assert: result statements isEmpty
       
   249 !
       
   250 
       
   251 testWhileStatement1
       
   252 	super testWhileStatement1.
       
   253 	self assert: result class equals: PJWhileStatementNode.
       
   254 	self assert: result expression class equals: PJBooleanLiteralNode.
       
   255 !
       
   256 
       
   257 testWhileStatement2
       
   258 	super testWhileStatement2.
       
   259 	self assert: result class equals: PJWhileStatementNode.
       
   260 	self assert: result statement class equals: PJBlockNode
       
   261 ! !
       
   262 
       
   263 !PPJavaParserTest methodsFor:'testing-classes'!
       
   264 
       
   265 testLiteral13
       
   266 	super testLiteral13.
       
   267 	self assert: result class equals: PJStringLiteralNode 
       
   268 !
       
   269 
       
   270 testMethodDeclaration1
       
   271 	super testMethodDeclaration1.
       
   272 	self assert: result class equals: PJMethodDeclarationNode.
       
   273 	self assert: result body class equals: PJBlockNode
       
   274 !
       
   275 
       
   276 testMethodDeclaration2
       
   277 	super testMethodDeclaration2.
       
   278 	self assert: result class equals: PJConstructorDeclarationNode.
       
   279 	self assert: result statements isEmpty
       
   280 ! !
       
   281 
       
   282 !PPJavaParserTest methodsFor:'testing-literals'!
       
   283 
       
   284 testAdditiveExpression1
       
   285 	super testAdditiveExpression1.
       
   286 	self assert: result class equals: PJBooleanLiteralNode
       
   287 !
       
   288 
       
   289 testAdditiveExpression2
       
   290 	super testAdditiveExpression2.
       
   291 	self assert: result class equals: PJInfixOperationNode.
       
   292 	self assert: result left class equals: PJIntegerLiteralNode.
       
   293 	self assert: result left literalValue equals: 3.
       
   294 	self assert: result operator equals: #+.
       
   295 	self assert: result right class equals: PJIntegerLiteralNode.
       
   296 	self assert: result right literalValue equals: 5.
       
   297 !
       
   298 
       
   299 testAdditiveExpression3
       
   300 	super testAdditiveExpression3.
       
   301 	self assert: result class equals: PJInfixOperationNode.
       
   302 	
       
   303 	self assert: result left left left class equals: PJIntegerLiteralNode.
       
   304 	self assert: result left left left literalValue equals: 4.
       
   305 	
       
   306 	self assert: result left left right class equals: PJIntegerLiteralNode.
       
   307 	self assert: result left left right literalValue equals: 8.
       
   308 	self assert: result left left operator equals: #+.
       
   309 	
       
   310 	self assert: result left right class equals: PJIntegerLiteralNode.
       
   311 	self assert: result left right literalValue equals: 2.
       
   312 	self assert: result left operator equals: #-.
       
   313 	
       
   314 	self assert: result right class equals: PJIntegerLiteralNode.
       
   315 	self assert: result right literalValue equals: 9.
       
   316 	self assert: result operator equals: #+.
       
   317 	
       
   318 !
       
   319 
       
   320 testAndExpression1
       
   321 	super testAndExpression1.
       
   322 	self assert: result class equals: PJBooleanLiteralNode
       
   323 !
       
   324 
       
   325 testBooleanLiteral1
       
   326 	super testBooleanLiteral1.
       
   327 	self assert: result class equals: PJBooleanLiteralNode.
       
   328 	self assert: result booleanValue equals: true
       
   329 !
       
   330 
       
   331 testBooleanLiteral2
       
   332 	super testBooleanLiteral2.
       
   333 	self assert: result class equals: PJBooleanLiteralNode.
       
   334 	self assert: result booleanValue equals: false
       
   335 !
       
   336 
       
   337 testConditionalAndExpression1
       
   338 	super testConditionalAndExpression1.
       
   339 	self assert: result class equals: PJBooleanLiteralNode
       
   340 !
       
   341 
       
   342 testConditionalOrExpression1
       
   343 	super testConditionalOrExpression1.
       
   344 	self assert: result class equals: PJBooleanLiteralNode
       
   345 !
       
   346 
       
   347 testEqualityExpression1
       
   348 	super testEqualityExpression1.
       
   349 	self assert: result class equals: PJBooleanLiteralNode
       
   350 !
       
   351 
       
   352 testExclusiveOrExpression1
       
   353 	super testExclusiveOrExpression1.
       
   354 	self assert: result class equals: PJBooleanLiteralNode
       
   355 !
       
   356 
       
   357 testExpression2
       
   358 	super testExpression2.
       
   359 	self assert: result class equals: PJBooleanLiteralNode
       
   360 !
       
   361 
       
   362 testExpression4
       
   363 	super testExpression4.
       
   364 	self assert: result class equals: PJIdentifierNode 
       
   365 !
       
   366 
       
   367 testExpression5
       
   368 	super testExpression5.
       
   369 	self assert: result class equals: PJInfixOperationNode.
       
   370 	self assert: result left class equals: PJIdentifierNode.
       
   371 	self assert: result operator equals: #+=.
       
   372 	self assert: result right class equals: PJIntegerLiteralNode
       
   373 !
       
   374 
       
   375 testFormalParameters1
       
   376 	super testFormalParameters1.
       
   377 	self assert: (result isKindOf: Collection).
       
   378 	self assert: result size equals: 2
       
   379 !
       
   380 
       
   381 testFormalParameters4
       
   382 	super testFormalParameters4.
       
   383 	self assert: (result isKindOf: Collection).
       
   384 	self assert: result size equals: 4
       
   385 !
       
   386 
       
   387 testFormalParameters5
       
   388 	super testFormalParameters5.
       
   389 	self assert: result isNil
       
   390 !
       
   391 
       
   392 testIdentifier1
       
   393 	super testIdentifier1.
       
   394 	self assert: result class equals: PJIdentifierNode.
       
   395 	self assert: result name equals: 'String'
       
   396 	
       
   397 !
       
   398 
       
   399 testIdentifier2
       
   400 	super testIdentifier2.
       
   401 	self assert: result class equals: PJIdentifierNode.
       
   402 	self assert: result name equals: 'i3'
       
   403 	
       
   404 !
       
   405 
       
   406 testIdentifier3
       
   407 	super testIdentifier3.
       
   408 	self assert: result class equals: PJIdentifierNode.
       
   409 	self assert: result name equals: 'αρετη'
       
   410 	
       
   411 !
       
   412 
       
   413 testIdentifier4
       
   414 	super testIdentifier4.
       
   415 	self assert: result class equals: PJIdentifierNode.
       
   416 	self assert: result name equals: 'MAX_VALUE'
       
   417 	
       
   418 !
       
   419 
       
   420 testIdentifier5
       
   421 	super testIdentifier5.
       
   422 	self assert: result class equals: PJIdentifierNode.
       
   423 	self assert: result name equals: 'isLetterOrDigit'
       
   424 !
       
   425 
       
   426 testInclusiveOrExpression1
       
   427 	super testInclusiveOrExpression1.
       
   428 	self assert: result class equals: PJBooleanLiteralNode
       
   429 !
       
   430 
       
   431 testInstanceofExpression1
       
   432 	super testInstanceofExpression1.
       
   433 	self assert: result class equals: PJBooleanLiteralNode
       
   434 !
       
   435 
       
   436 testLiteral2
       
   437 	super testLiteral2.
       
   438 	self assert: result class equals: PJBooleanLiteralNode
       
   439 !
       
   440 
       
   441 testLocalVariableDeclarationStatement1
       
   442 	super testLocalVariableDeclarationStatement1.
       
   443 	self assert: result class equals: PJLocalVariableDeclarationStatementNode.
       
   444 	self assert: result type notNil.
       
   445 	self assert: result declarators size equals: 1.
       
   446 !
       
   447 
       
   448 testLocalVariableDeclarationStatement2
       
   449 	super testLocalVariableDeclarationStatement2.
       
   450 	self assert: result class equals: PJLocalVariableDeclarationStatementNode.
       
   451 	self assert: result type notNil.
       
   452 	self assert: result declarators size equals: 2.
       
   453 !
       
   454 
       
   455 testLocalVariableDeclarationStatement3
       
   456 	super testLocalVariableDeclarationStatement3.
       
   457 	self assert: result class equals: PJLocalVariableDeclarationStatementNode.
       
   458 	self assert: result type notNil.
       
   459 	self assert: result declarators size equals: 3.
       
   460 !
       
   461 
       
   462 testMultiplicativeExpression1
       
   463 	super testMultiplicativeExpression1.
       
   464 	self assert: result class equals: PJBooleanLiteralNode
       
   465 !
       
   466 
       
   467 testMultiplicativeExpression2
       
   468 	super testMultiplicativeExpression2.
       
   469 	self assert: result class equals: PJInfixOperationNode.
       
   470 	self assert: result left class equals: PJIntegerLiteralNode.
       
   471 	self assert: result left literalValue equals: 3.
       
   472 	self assert: result operator equals: #*.
       
   473 	self assert: result right class equals: PJIntegerLiteralNode.
       
   474 	self assert: result right literalValue equals: 5.
       
   475 !
       
   476 
       
   477 testMultiplicativeExpression3
       
   478 	super testMultiplicativeExpression3.
       
   479 	self assert: result class equals: PJInfixOperationNode.
       
   480 	
       
   481 	self assert: result left left left class equals: PJIntegerLiteralNode.
       
   482 	self assert: result left left left literalValue equals: 4.
       
   483 	
       
   484 	self assert: result left left right class equals: PJIntegerLiteralNode.
       
   485 	self assert: result left left right literalValue equals: 8.
       
   486 	self assert: result left left operator equals: #*.
       
   487 	
       
   488 	self assert: result left right class equals: PJIntegerLiteralNode.
       
   489 	self assert: result left right literalValue equals: 2.
       
   490 	self assert: result left operator equals: #/.
       
   491 	
       
   492 	self assert: result right class equals: PJIntegerLiteralNode.
       
   493 	self assert: result right literalValue equals: 9.
       
   494 	self assert: result operator equals: #*.
       
   495 	
       
   496 !
       
   497 
       
   498 testNullLiteral1
       
   499 
       
   500 	super testNullLiteral1
       
   501 .
       
   502 	self assert: result class equals: PJNullLiteralNode .
       
   503 	self assert: result literalValue equals: 'null'
       
   504 !
       
   505 
       
   506 testPrimary1
       
   507 	super testPrimary1.
       
   508 	self assert: result class equals: PJBooleanLiteralNode
       
   509 !
       
   510 
       
   511 testPrimary2
       
   512 	super testPrimary2.
       
   513 	self assert: result class equals: PJStringLiteralNode
       
   514 !
       
   515 
       
   516 testPrimaryWithselectors1
       
   517 	super testPrimaryWithselectors1.
       
   518 	self assert: result class equals: PJBooleanLiteralNode
       
   519 !
       
   520 
       
   521 testPrimaryWithselectors2
       
   522 	super testPrimaryWithselectors2.
       
   523 	"
       
   524 		JK: Seems the functionality is not finished or broken
       
   525 		see rule primaryWithselectors, calling #object: that throws DNU
       
   526 	"
       
   527 	"self assert: result size = 2."
       
   528 !
       
   529 
       
   530 testRelationalExpression1
       
   531 	super testRelationalExpression1.
       
   532 	self assert: result class equals: PJBooleanLiteralNode
       
   533 !
       
   534 
       
   535 testRelationalExpression2
       
   536 	super testRelationalExpression2.
       
   537 	self assert: result class equals: PJInfixOperationNode 
       
   538 !
       
   539 
       
   540 testReturnStatement1
       
   541 	super testReturnStatement1.
       
   542 	self assert: result class equals: PJReturnStatementNode.
       
   543 	self assert: (result expression isKindOf: PJExpressionNode)
       
   544 !
       
   545 
       
   546 testReturnStatement2
       
   547 	super testReturnStatement2.
       
   548 	self assert: result class equals: PJReturnStatementNode.
       
   549 	self assert: result expression isNil
       
   550 !
       
   551 
       
   552 testShiftExpression1
       
   553 	super testShiftExpression1.
       
   554 	self assert: result class equals: PJBooleanLiteralNode
       
   555 !
       
   556 
       
   557 testStringLiteral1
       
   558 	super testStringLiteral1.
       
   559 	self assert: result class equals: PJStringLiteralNode.
       
   560 	self assert: result literalValue equals: String empty
       
   561 !
       
   562 
       
   563 testStringLiteral11
       
   564 	super testStringLiteral11.
       
   565 	self assert: result class equals: PJStringLiteralNode.
       
   566 	self assert: result literalValue equals: 'null'
       
   567 !
       
   568 
       
   569 testStringLiteral2
       
   570 	super testStringLiteral2.
       
   571 	self assert: result class equals: PJStringLiteralNode.
       
   572 	self assert: result literalValue equals: '\"'
       
   573 !
       
   574 
       
   575 testStringLiteral3
       
   576 	super testStringLiteral3.
       
   577 	self assert: result class equals: PJStringLiteralNode.
       
   578 	self assert: result literalValue equals: 'This is a Java string'
       
   579 !
       
   580 
       
   581 testUnaryExpression2
       
   582 	super testUnaryExpression2.
       
   583 	self assert: result class equals: PJBooleanLiteralNode
       
   584 !
       
   585 
       
   586 testUnaryExpressionNotPlusMinus1
       
   587 	super testUnaryExpressionNotPlusMinus1.
       
   588 	self assert: result class equals: PJBooleanLiteralNode
       
   589 !
       
   590 
       
   591 testVariableDeclarator1
       
   592 	super testVariableDeclarator1.
       
   593 	self assert: result class equals: PJVariableDeclaratorNode.
       
   594 	self assert: result variable class equals: PJIdentifierNode.
       
   595 	self assert: result arrayLevel equals: 0.
       
   596 	self assert: result initializer isNil
       
   597 !
       
   598 
       
   599 testVariableDeclarator2
       
   600 	super testVariableDeclarator2.
       
   601 	self assert: result class equals: PJVariableDeclaratorNode.
       
   602 	self assert: result variable class equals: PJIdentifierNode.
       
   603 	self assert: result arrayLevel equals: 2.
       
   604 	self assert: result initializer isNil
       
   605 !
       
   606 
       
   607 testVariableDeclarator3
       
   608 	super testVariableDeclarator3.
       
   609 	self assert: result class equals: PJVariableDeclaratorNode.
       
   610 	self assert: result variable class equals: PJIdentifierNode.
       
   611 	self assert: result arrayLevel equals: 0.
       
   612 	self assert: result initializer notNil
       
   613 ! !
       
   614 
       
   615 !PPJavaParserTest methodsFor:'testing-literals-integer'!
       
   616 
       
   617 testIfStatement1
       
   618 	super testIfStatement1.
       
   619 	self assert: result class equals: PJIfStatementNode.
       
   620 	self assert: result condition class equals: PJBooleanLiteralNode. 
       
   621 	self assert: result thenPart class equals: PJBlockNode.
       
   622 	self assert: result elsePart isNil
       
   623 !
       
   624 
       
   625 testIfStatement2
       
   626 	super testIfStatement2.
       
   627 	self assert: result class equals: PJIfStatementNode.
       
   628 	self assert: result condition class equals: PJBooleanLiteralNode. 
       
   629 	self assert: result thenPart class equals: PJBlockNode.
       
   630 	self assert: result elsePart class equals: PJBlockNode.
       
   631 !
       
   632 
       
   633 testIfStatement3
       
   634 	super testIfStatement3.
       
   635 	self assert: result class equals: PJIfStatementNode.
       
   636 	self assert: result condition class equals: PJBooleanLiteralNode. 
       
   637 	self assert: result thenPart class equals: PJBlockNode.
       
   638 	self assert: result elsePart class equals: PJBlockNode.
       
   639 !
       
   640 
       
   641 testIfStatement4
       
   642 	super testIfStatement4.
       
   643 	self assert: result class equals: PJIfStatementNode.
       
   644 	self assert: result condition class equals: PJBooleanLiteralNode. 
       
   645 	self assert: result thenPart class equals: PJExpressionStatementNode.
       
   646 	self assert: result elsePart isNil
       
   647 !
       
   648 
       
   649 testIfStatement5
       
   650 	super testIfStatement5.
       
   651 	self assert: result class equals: PJIfStatementNode.
       
   652 	self assert: result condition class equals: PJInfixOperationNode. 
       
   653 	self assert: result thenPart class equals: PJBlockNode.
       
   654 	self assert: result elsePart isNil
       
   655 !
       
   656 
       
   657 testIntegerLiteral1
       
   658 	super testIntegerLiteral1.
       
   659 	self assert: result class equals: PJIntegerLiteralNode.
       
   660 	self assert: result literalValue equals: 0.
       
   661 	self assert: result isLong not
       
   662 !
       
   663 
       
   664 testIntegerLiteral10
       
   665 	super testIntegerLiteral10.
       
   666 	self assert: result class equals: PJIntegerLiteralNode.
       
   667 	self assert: result literalValue equals: 1996.
       
   668 	self assert: result isLong not
       
   669 !
       
   670 
       
   671 testIntegerLiteral11
       
   672 	super testIntegerLiteral11.
       
   673 	self assert: result class equals: PJIntegerLiteralNode.
       
   674 	self assert: result literalValue equals: 16711935.
       
   675 	self assert: result isLong not
       
   676 !
       
   677 
       
   678 testIntegerLiteral2
       
   679 	super testIntegerLiteral2.
       
   680 	self assert: result class equals: PJIntegerLiteralNode.
       
   681 	self assert: result literalValue equals: 0.
       
   682 	self assert: result isLong
       
   683 !
       
   684 
       
   685 testIntegerLiteral3
       
   686 	super testIntegerLiteral3.
       
   687 	self assert: result class equals: PJIntegerLiteralNode.
       
   688 	self assert: result literalValue equals: 511.
       
   689 	self assert: result isLong
       
   690 !
       
   691 
       
   692 testIntegerLiteral4
       
   693 	super testIntegerLiteral4.
       
   694 	self assert: result class equals: PJIntegerLiteralNode.
       
   695 	self assert: result literalValue equals: 4294967296.
       
   696 	self assert: result isLong
       
   697 !
       
   698 
       
   699 testIntegerLiteral5
       
   700 	super testIntegerLiteral5.
       
   701 	self assert: result class equals: PJIntegerLiteralNode.
       
   702 	self assert: result literalValue equals: 2147483648.
       
   703 	self assert: result isLong
       
   704 !
       
   705 
       
   706 testIntegerLiteral6
       
   707 	super testIntegerLiteral6.
       
   708 	self assert: result class equals: PJIntegerLiteralNode.
       
   709 	self assert: result literalValue equals: 49328.
       
   710 	self assert: result isLong
       
   711 !
       
   712 
       
   713 testIntegerLiteral7
       
   714 	super testIntegerLiteral7.
       
   715 	self assert: result class equals: PJIntegerLiteralNode.
       
   716 	self assert: result literalValue equals: 2.
       
   717 	self assert: result isLong not
       
   718 !
       
   719 
       
   720 testIntegerLiteral8
       
   721 	super testIntegerLiteral8.
       
   722 	self assert: result class equals: PJIntegerLiteralNode.
       
   723 	self assert: result literalValue equals: 250.
       
   724 	self assert: result isLong not
       
   725 !
       
   726 
       
   727 testIntegerLiteral9
       
   728 	super testIntegerLiteral9.
       
   729 	self assert: result class equals: PJIntegerLiteralNode.
       
   730 	self assert: result literalValue equals: 3671771902.
       
   731 	self assert: result isLong not
       
   732 ! !
       
   733