/
CDMoreComplexSlotParserTest.class.st
41 lines (33 loc) · 1.46 KB
/
CDMoreComplexSlotParserTest.class.st
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Class {
#name : #CDMoreComplexSlotParserTest,
#superclass : #CDClassDefinitionParserTest,
#category : #'ClassParser-Tests'
}
{ #category : #helpers }
CDMoreComplexSlotParserTest >> classDefinitionString [
^ '{superclassname} subclass: #{classname}
slots: \{
''{instvar1}'' => LazyClassVariable default: 5.
''{instvar2}'' => InstanceVariableSlot.
''instVar3''
\}
classVariableNames: ''{classvar1} {classvar2}''
package: #MyPackage'
format: {
'classname' -> self className.
'superclassname' -> self superclassName.
'instvar1' -> self firstInstanceVariableName.
'instvar2' -> self secondInstanceVariableName.
'classvar1' -> self firstClassVariableName.
'classvar2' -> self secondClassVariableName. } asDictionary
]
{ #category : #helpers }
CDMoreComplexSlotParserTest >> testClassDefFromLegacyStringHasSlots [
self assert: classDefinition slotNodes first name equals: self firstInstanceVariableName.
self assert: classDefinition slotNodes first slotClassName equals: #LazyClassVariable.
self assert: classDefinition slotNodes first initializationMessage printString equals: 'default: 5'.
self assert: classDefinition slotNodes second name equals: self secondInstanceVariableName.
self assert: classDefinition slotNodes second slotClassName equals: #InstanceVariableSlot.
self assert: classDefinition slotNodes third name equals: 'instVar3'.
self assert: classDefinition slotNodes third slotClassName equals: #InstanceVariableSlot.
]