compiler/tests/extras/PPCCompositeParserTest.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Jul 2015 08:37:37 +0100
changeset 510 869853decf31
child 512 694a247a12ba
permissions -rw-r--r--
Tests refactoring - use generated test cases to make sure all posibilities are tested. Do not generate resource for all combinations, use PPCSetUpBeforeTearDownAfterResource instead that delegates parser compilation to the testcase itself (it calls it's #setUpBefore method).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
510
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PPCompositeParserTest subclass:#PPCCompositeParserTest
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'PetitCompiler-Extras-Tests-Support'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!PPCCompositeParserTest class methodsFor:'accessing'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
resources
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    ^ Array with: (PPCSetUpBeforeTearDownAfterResource for: self)
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    "Created: / 29-07-2015 / 16:28:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!PPCCompositeParserTest class methodsFor:'queries'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
isAbstract
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    "Return if this class is an abstract class.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
     True is returned here for myself only; false for subclasses.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
     Abstract subclasses must redefine again."
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    ^ self == PPCCompositeParserTest.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!PPCCompositeParserTest class methodsFor:'utilities'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
generateTestsFor: baseTestClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    | compiledBaseTestClassName compiledBaseTestClass compiledUniversalTestClass compiledTokenizedTestClass |
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    compiledBaseTestClassName := (baseTestClass name startsWith: 'PP') 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
                            ifTrue:[ 'PPC' , (baseTestClass name copyFrom: 3 to: baseTestClass name size) ]
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
                            ifFalse:[ 'PPC' , baseTestClass name ].
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    compiledBaseTestClassName := compiledBaseTestClassName asSymbol.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    compiledBaseTestClass := baseTestClass subclass:compiledBaseTestClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
        instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
        classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
        poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
        category: 'PetitCompiler-Extras-Tests-Misc'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    compiledBaseTestClass class compile:
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
'isAbstract
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    ^ self == ', compiledBaseTestClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    classified: 'testing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    compiledBaseTestClass class compile:
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
'resources
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    ^ Array with: (PPCSetUpBeforeTearDownAfterResource for: self)'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    classified: 'resources'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    self methodDictionary do:[:method |  
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
        compiledBaseTestClass compile: method source classified: method category    
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    ].
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    compiledBaseTestClass compile:
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
'petitParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    ^ ' , baseTestClass new parserClass name
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    classified: 'accessing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    compiledUniversalTestClass := compiledBaseTestClass subclass: (compiledBaseTestClassName , '_Universal') asSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
        instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
        classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
        poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
        category: 'PetitCompiler-Extras-Tests-Misc'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    compiledUniversalTestClass compile: 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
'compilerConfiguration
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    ^ PPCConfiguration universal'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    classified: 'accessing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
                             
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    compiledTokenizedTestClass := compiledBaseTestClass subclass: (compiledBaseTestClassName , '_Tokenized') asSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
        instanceVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
        classVariableNames:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
        poolDictionaries:''
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
        category: 'PetitCompiler-Extras-Tests-Misc'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    compiledTokenizedTestClass compile: 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
'compilerConfiguration
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    ^ PPCConfiguration tokenizing'
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    classified: 'accessing'.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    "Created: / 30-07-2015 / 07:10:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
!PPCCompositeParserTest methodsFor:'accessing'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
compiledParser
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    ^ self compiledParserClass new
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "Created: / 29-07-2015 / 17:00:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
compiledParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    ^ Smalltalk at: self compiledParserClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    "Created: / 29-07-2015 / 16:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
compiledParserClassName
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    "Return the name of the compiled parser"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    ^ (self petitParserClass name , 'C_' , 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
            "This is bit hacky!!"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
            ((self compilerConfiguration isKindOf: PPCTokenizingConfiguration) ifTrue:[ 'Tokenizing' ] ifFalse:[ 'Universal' ])) asSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
    "Created: / 29-07-2015 / 16:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
compilerConfiguration
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
    "Return configuration to use when compiling parser (as instance of PPCConfiguration)"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
    ^ self subclassResponsibility
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
    "Created: / 29-07-2015 / 16:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
parserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    ^ self compiledParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
    "Modified: / 29-07-2015 / 18:43:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
parserInstanceFor: aSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    ^ self parserClass new startSymbol: aSymbol
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    "Modified: / 29-07-2015 / 18:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
petitParser
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    ^ self petitParserClass new
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    "Created: / 29-07-2015 / 17:01:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
petitParserClass
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    "Return the name of the petit parser to compile"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    ^ self subclassResponsibility
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    "Created: / 29-07-2015 / 17:01:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
!PPCCompositeParserTest methodsFor:'context'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
context
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
    ^ PPCContext new 
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
!PPCCompositeParserTest methodsFor:'setup & teardown'!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
setUpBefore
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
    "Called before any of my tests is run (when resources are set up)"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    | time configuration |
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
    configuration := self compilerConfiguration.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
    configuration arguments parserName: self compiledParserClassName.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    time := Time millisecondsToRun: [
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
        self petitParser compileWithConfiguration: configuration.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    ].
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    Transcript show: self petitParserClass name ; show:' compiled in: '; show: time asString; show: 'ms'; cr.
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
    "Created: / 29-07-2015 / 16:29:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    "Modified: / 29-07-2015 / 18:40:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
!
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
tearDownAfter
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    "Called after all my tests are ryn(when resources are torn down)"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    "Created: / 29-07-2015 / 16:33:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
! !
869853decf31 Tests refactoring - use generated test cases to make sure all posibilities are tested.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178