compiler/TSourceReaderTests.st
changeset 5 976f21e29d37
child 8 eec72263ed75
equal deleted inserted replaced
4:3d80069ea3e2 5:976f21e29d37
       
     1 "{ Package: 'jv:tea/compiler' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 TestCase subclass:#TSourceReaderTests
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'Languages-Tea-Compiler-Model-Tests'
       
    10 !
       
    11 
       
    12 !TSourceReaderTests methodsFor:'tests'!
       
    13 
       
    14 test_01
       
    15     | defs |
       
    16 
       
    17     defs := TSourceReader read:'
       
    18 tObject subclass: #tMachineInteger
       
    19     category: ''tKernel''
       
    20 '.
       
    21     self assert: defs size == 1.
       
    22     self assert: defs anElement isClass.
       
    23     self assert: (defs anElement superclassName =  'tObject').
       
    24     self assert: (defs anElement name ='tMachineInteger').
       
    25     self assert: (defs anElement category ='tKernel').
       
    26 
       
    27     "Created: / 31-08-2015 / 15:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    28 !
       
    29 
       
    30 test_02
       
    31     | defs |
       
    32 
       
    33     defs := TSourceReader read:'
       
    34 !!tMachineInteger class methodsFor: ''tests''!!
       
    35 foo <tMachineInteger>
       
    36     ^ 1
       
    37 '.
       
    38     self assert: defs size == 1.
       
    39     self assert: defs anElement isMethod.
       
    40     self assert: (defs anElement className ='tMachineInteger class').
       
    41     self assert: (defs anElement category ='tests').
       
    42 
       
    43     "Created: / 31-08-2015 / 16:34:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    44 !
       
    45 
       
    46 test_03
       
    47     | defs |
       
    48 
       
    49     defs := TSourceReader read:'
       
    50 !!tMachineInteger class methodsFor: ''tests''!!
       
    51 foo <tMachineInteger>
       
    52     ^ 1
       
    53 !!
       
    54 bar <tMachineInteger>
       
    55     ^ 2
       
    56 '.
       
    57     self assert: defs size == 2.
       
    58     self assert: defs first isMethod.
       
    59     self assert: (defs first className ='tMachineInteger class').
       
    60     self assert: (defs first category ='tests').
       
    61     self assert: defs second isMethod.
       
    62     self assert: (defs second className ='tMachineInteger class').
       
    63     self assert: (defs second category ='tests').
       
    64 
       
    65     "Created: / 31-08-2015 / 16:39:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    66 !
       
    67 
       
    68 test_04
       
    69     | defs |
       
    70 
       
    71     defs := TSourceReader read:'
       
    72 !!tMachineInteger class methodsFor: ''tests''!!
       
    73 foo <tMachineInteger>
       
    74     ^ 1
       
    75 !! !!
       
    76 
       
    77 !!tMachineInteger class methodsFor: ''more tests''!!
       
    78 bar <tMachineInteger>
       
    79     ^ 2
       
    80 '.
       
    81     self assert: defs size == 2.
       
    82     self assert: defs first isMethod.
       
    83     self assert: (defs first className ='tMachineInteger class').
       
    84     self assert: (defs first category ='tests').
       
    85     self assert: defs second isMethod.
       
    86     self assert: (defs second className ='tMachineInteger class').
       
    87     self assert: (defs second category ='more tests').
       
    88 
       
    89     "Created: / 31-08-2015 / 16:40:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    90 !
       
    91 
       
    92 test_05
       
    93     | defs |
       
    94 
       
    95     defs := TSourceReader read:'
       
    96 tObject subclass: #tMachineInteger
       
    97     category: ''tKernel''   
       
    98 !!
       
    99 
       
   100 !!tMachineInteger class methodsFor: ''tests''!!
       
   101 foo <tMachineInteger>
       
   102     ^ 1
       
   103 !! !!
       
   104 
       
   105 '.
       
   106     self assert: defs size == 2.
       
   107     self assert: defs first isClass.
       
   108     self assert: (defs first name ='tMachineInteger').
       
   109     self assert: (defs first category ='tKernel').
       
   110     self assert: defs second isMethod.
       
   111     self assert: (defs second className ='tMachineInteger class').
       
   112     self assert: (defs second category ='tests').
       
   113 
       
   114     "Created: / 31-08-2015 / 16:43:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   115 ! !
       
   116