/
RBRemoveClassTest.class.st
56 lines (47 loc) · 2.2 KB
/
RBRemoveClassTest.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
Class {
#name : #RBRemoveClassTest,
#superclass : #RBRefactoringTest,
#category : #'Refactoring-Tests-Core'
}
{ #category : #private }
RBRemoveClassTest >> resumeOnCannotRemoveTopLevelClassError: error [
^ error messageText = RBRemoveClassRefactoring cannotRemoveTopLevelClassErrorMesssage
ifTrue: [ error resume ]
]
{ #category : #tests }
RBRemoveClassTest >> testRaisesRBRefactoringErrorWhenRemovingNonEmptySuperclass [
self shouldFail: (RBRemoveClassRefactoring classNames: (Array with: ('RBFoo' , 'LintRuleTest') asSymbol))
]
{ #category : #'failure tests' }
RBRemoveClassTest >> testRemoveAClassAndTheirSubclass [
|refactoring|
refactoring := RBRemoveClassRefactoring classNames: {#RBSharedPoolForTestData1 . #RBSharedPoolForTestData2}.
self executeRefactoring: refactoring.
self assert: (refactoring model classNamed: #RBSharedPoolForTestData2) isNil.
self assert: (refactoring model classNamed: #RBSharedPoolForTestData1) isNil.
]
{ #category : #'failure tests' }
RBRemoveClassTest >> testRemoveClassWithBadNameRaisesRBRefactoringError [
self
shouldFail: (RBRemoveClassRefactoring classNames: #(#RecursiveSelfRule))
]
{ #category : #'failure tests' }
RBRemoveClassTest >> testRemoveClassWithReferencesRaisesRBRefactoringError [
self shouldFail: (RBRemoveClassRefactoring classNames: #(#RBBasicLintRuleTestData ))
]
{ #category : #'failure tests' }
RBRemoveClassTest >> testRemoveClassesWithReferencesBetweenThem [
|refactoring|
refactoring := RBRemoveClassRefactoring classNames: {#RBRenameClassVariableTest . #RBSharedPoolForTestData}.
self executeRefactoring: refactoring.
self assert: (refactoring model classNamed: #RBSharedPoolForTestData) isNil.
self assert: (refactoring model classNamed: #RBRenameClassVariableTest) isNil.
]
{ #category : #tests }
RBRemoveClassTest >> testRemoveEmptySuperclass [
| refactoring |
refactoring := RBRemoveClassRefactoring classNames: (Array with: ('RBFoo' , 'LintRuleTestData1') asSymbol).
self executeRefactoring: refactoring.
self assert: (refactoring model classNamed: ('RBFoo' , 'LintRuleTestData1') asSymbol) isNil.
self assert: (refactoring model classNamed: #RBTransformationRuleTestData1) superclass equals: (refactoring model classNamed: #RBLintRuleTestData)
]