-
-
Notifications
You must be signed in to change notification settings - Fork 353
/
ClyScopeTestCase.class.st
99 lines (75 loc) · 2.28 KB
/
ClyScopeTestCase.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Class {
#name : #ClyScopeTestCase,
#superclass : #ClyNavigationEnvironmentTestCase,
#instVars : [
'scope',
'result'
],
#category : #'Calypso-NavigationModel-Tests'
}
{ #category : #testing }
ClyScopeTestCase class >> isAbstract [
^self == ClyScopeTestCase
]
{ #category : #running }
ClyScopeTestCase >> createSampleScope [
self subclassResponsibility
]
{ #category : #running }
ClyScopeTestCase >> setUp [
super setUp.
"For tests we want predictable order or collected items to simplify assertions"
result := SortedCollection sortBlock: #printString ascending
]
{ #category : #tests }
ClyScopeTestCase >> testBindToEnvironment [
scope := self createSampleScope.
scope bindTo: environment.
self assert: scope environment equals: environment.
self assert: scope isBoundToEnvironment
]
{ #category : #tests }
ClyScopeTestCase >> testComparisonWithCopy [
| copy |
scope := self createSampleScope.
copy := scope copy.
self assert: scope equals: copy.
self assert: scope hash equals: copy hash
]
{ #category : #tests }
ClyScopeTestCase >> testComparisonWithDifferentScope [
| scope2 |
scope := self createSampleScope.
scope2 := ClyScopeExample2 of: #basisObject in: environment.
self deny: scope equals: scope2
]
{ #category : #tests }
ClyScopeTestCase >> testComparisonWithItself [
scope := self createSampleScope.
self assert: scope equals: scope
]
{ #category : #tests }
ClyScopeTestCase >> testComparisonWithSimilarScope [
| scope2 |
scope := self createSampleScope.
scope2 := self createSampleScope.
self assert: scope equals: scope2.
self assert: scope hash equals: scope2 hash
]
{ #category : #tests }
ClyScopeTestCase >> testConvertingToAnotherScopeClass [
| convertedScope |
scope := self createSampleScope.
convertedScope := scope asScope: ClyScopeExample.
self assert: convertedScope class equals: ClyScopeExample.
self assert: convertedScope basisObjects asIdentitySet equals: scope basisObjects asIdentitySet.
self assert: convertedScope environment equals: environment
]
{ #category : #tests }
ClyScopeTestCase >> testConvertingToAnotherScopeClassShouldKeepName [
| convertedScope |
scope := self createSampleScope.
scope name: 'test scope'.
convertedScope := scope asScope: ClyScopeExample.
self assert: convertedScope name equals: 'test scope'.
]