forked from pharo-project/pharo
/
RGSliceTest.class.st
63 lines (55 loc) · 2.03 KB
/
RGSliceTest.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"
SUnit tests for slices
"
Class {
#name : #RGSliceTest,
#superclass : #TestCase,
#category : #'Ring-Definitions-Tests-Containers-Base'
}
{ #category : #testing }
RGSliceTest >> testAddingClasses [
| newSlice newClass newTrait |
newSlice := RGSlice named: 'Foo'.
newClass := RGClassDefinition named: #OrderedCollection.
newTrait := RGTraitDefinition named: #TSortable.
newSlice
addClassNamed: #SortedCollection;
addClass: newClass;
addTrait: newTrait.
self assert: newSlice classes size equals: 3.
self assert: newSlice traits size equals: 1.
self assert: (newSlice includesClassNamed: #OrderedCollection).
self assert: (newSlice classNamed: #OrderedCollection) identicalTo: newClass.
self assert: (newSlice traitNamed: #TSortable) identicalTo: newTrait.
self assert: (newClass isIncludedInContainer: newSlice).
self assert: (newTrait isIncludedInContainer: newSlice).
self assert: newSlice allClasses size equals: 3.
self assert: newSlice allTraits size equals: 1.
self assert: newClass parent equals: newSlice.
self assert: newClass rootEnvironment equals: newSlice environment
]
{ #category : #testing }
RGSliceTest >> testNestingContainers [
| newSlice newSlice2 newClass newTrait newClass2 |
newSlice := RGSlice named: #Root.
newSlice2 := RGSlice named: #Child.
newSlice2 environment: newSlice.
newSlice addClassNamed: #OrderedCollection.
newClass := newSlice classNamed: #OrderedCollection.
newSlice addTraitNamed: #TSortable.
newTrait := newSlice traitNamed: #TSortable.
newSlice2 addClassNamed: #SortedCollection.
newClass2 := newSlice classNamed: #SortedCollection.
self assert: newSlice classes size equals: 2.
self assert: newSlice2 classes size equals: 1.
self assert: newSlice2 environment equals: newSlice.
self assert: newSlice2 rootEnvironment equals: newSlice environment
]
{ #category : #testing }
RGSliceTest >> testNewSlice [
| newSlice |
newSlice := RGSlice named: 'Foo'.
self assert: newSlice isSlice.
self assertEmpty: newSlice classes.
self assert: newSlice environment identicalTo: Smalltalk globals
]