Updated to PetitCompiler-JanKurs.160, PetitCompiler-Tests-JanKurs.112, PetitCompiler-Extras-Tests-JanKurs.25, PetitCompiler-Benchmarks-JanKurs.17
Name: PetitCompiler-JanKurs.160
Author: JanKurs
Time: 17-08-2015, 09:52:26.291 AM
UUID: 3b4bfc98-8098-4951-af83-a59e2585b121
Name: PetitCompiler-Tests-JanKurs.112
Author: JanKurs
Time: 16-08-2015, 05:00:32.936 PM
UUID: 85613d47-08f3-406f-9823-9cdab451e805
Name: PetitCompiler-Extras-Tests-JanKurs.25
Author: JanKurs
Time: 16-08-2015, 05:00:10.328 PM
UUID: 09731810-51a1-4151-8d3a-56b636fbd1f7
Name: PetitCompiler-Benchmarks-JanKurs.17
Author: JanKurs
Time: 05-08-2015, 05:29:32.407 PM
UUID: e544b5f1-bcf8-470b-93a6-d2363e4dfc8a
"{ Package: 'stx:goodies/petitparser/compiler/tests' }"
"{ NameSpace: Smalltalk }"
PPAbstractParserTest subclass:#PPCIdGeneratorTest
instanceVariableNames:'node id idGen node1 node2 codeGen id1 id2 compiler'
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Tests-Core'
!
!PPCIdGeneratorTest methodsFor:'tests - ids'!
testId1
node := PPCNode new
name: 'foo'.
idGen := PPCIdGenerator new.
id := idGen idFor: node.
self assert: idGen ids size = 1.
self assert: id = 'foo'.
!
testId2
node1 := PPCNode new
name: 'foo'.
node2 := PPCNode new
name: 'foo'.
codeGen := PPCCodeGen new.
id1 := codeGen idFor: node1.
self assert: codeGen ids size = 1.
self assert: id1 = 'foo'.
id2 := codeGen idFor: node2.
self assert: codeGen ids size = 2.
self assert: id2 = 'foo_2'.
self assert: (id1 = id2) not.
!
testId3
node1 := PPCNode new
name: 'foo'.
node2 := node1.
codeGen := PPCCodeGen new.
id1 := codeGen idFor: node1.
self assert: codeGen ids size = 1.
self assert: id1 = 'foo'.
id2 := codeGen idFor: node2.
self assert: codeGen ids size = 1.
self assert: id2 = 'foo'.
self assert: (id1 == id2).
!
testId4
node1 := PPCNode new
name: 'foo+='.
node2 := PPCNode new
name: 'foo+='.
codeGen := PPCCodeGen new.
id1 := codeGen idFor: node1.
self assert: codeGen ids size = 1.
self assert: id1 = 'foo'.
id2 := codeGen idFor: node2.
self assert: codeGen ids size = 2.
self assert: id2 = 'foo_2'.
self assert: (id1 = id2) not.
!
testId5
node1 := PPCNode new
name: 'foo_bar'.
codeGen := PPCCodeGen new.
id1 := codeGen idFor: node1.
self assert: codeGen ids size = 1.
self assert: id1 = 'foo_bar'.
!
testId6
node1 := PPCNode new
name: '$''nextToken'.
node2 := PPCNode new
name: '$"nextToken'.
codeGen := PPCCodeGen new.
id1 := codeGen idFor: node1.
self assert: codeGen ids size = 1.
self assert: id1 = 'nextToken'.
id2 := codeGen idFor: node2.
self assert: codeGen ids size = 2.
self assert: id2 = 'nextToken_2'.
! !