author | Jakub Nesveda <jakubnesveda@seznam.cz> |
Sun, 19 Oct 2014 15:10:29 +0200 | |
changeset 705 | 1eb0878dc85c |
parent 688 | 6bd18ba5e56c |
child 734 | f8b10fc1ab0e |
permissions | -rw-r--r-- |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'jn:refactoring_custom' }" |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
2 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
3 |
TestCase subclass:#CustomClassQueryTests |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
686
diff
changeset
|
4 |
instanceVariableNames:'classQuery model mockSuperClass mockClass' |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
5 |
classVariableNames:'' |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
6 |
poolDictionaries:'' |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
7 |
category:'Interface-Refactoring-Custom-Tests' |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
8 |
! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
9 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
10 |
!CustomClassQueryTests methodsFor:'initialization & release'! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
11 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
12 |
setUp |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
13 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
14 |
classQuery := CustomClassQuery new. |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
686
diff
changeset
|
15 |
model := CustomNamespace new. |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
686
diff
changeset
|
16 |
mockSuperClass := model createClassImmediate: 'MockSuperClassForTestCase' superClassName: 'Object'. |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
686
diff
changeset
|
17 |
mockClass := model createClassImmediate: 'MockClassForTestCase' superClassName: (mockSuperClass new className). |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
18 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
686
diff
changeset
|
19 |
"Modified: / 09-10-2014 / 09:33:36 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
20 |
! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
21 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
22 |
tearDown |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
23 |
|
705
1eb0878dc85c
rename undoChanges to redoChanges, because it actually does undo, in CustomLocalChangeManager, CustomNamespace, CustomRefactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
24 |
model undoChanges |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
25 |
|
705
1eb0878dc85c
rename undoChanges to redoChanges, because it actually does undo, in CustomLocalChangeManager, CustomNamespace, CustomRefactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
26 |
"Modified: / 19-10-2014 / 14:56:20 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
27 |
! ! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
28 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
29 |
!CustomClassQueryTests methodsFor:'tests'! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
30 |
|
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
31 |
test_method_from_superclass_not_found_01 |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
32 |
| method | |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
33 |
|
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
34 |
method := classQuery methodForSuperclassSelector: 'someNonExistingMethod:withParam:' class: Object. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
35 |
self assert: method isNil. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
36 |
|
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
37 |
"Created: / 07-10-2014 / 19:54:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
38 |
! |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
39 |
|
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
40 |
test_method_from_superclass_not_found_02 |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
41 |
| method | |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
42 |
|
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
43 |
method := classQuery methodForSuperclassSelector: 'someNonExistingMethod:withParam:' class: self class. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
44 |
self assert: method isNil. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
45 |
|
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
46 |
"Created: / 07-10-2014 / 19:54:33 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
47 |
! |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
48 |
|
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
49 |
test_method_from_superclass_retrieved |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
50 |
| method | |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
51 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
52 |
self assert: (classQuery methodForSuperclassSelector: 'initialize' class: Object) isNil. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
53 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
54 |
"/ Instance method |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
686
diff
changeset
|
55 |
model createMethodImmediate: mockSuperClass protocol: 'instance-protocol' source: 'instanceMethod: aParam |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
56 |
self shouldImplement'. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
57 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
58 |
method := classQuery methodForSuperclassSelector: #instanceMethod: class: mockClass. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
59 |
self assert: 'instance-protocol' = method category. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
60 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
61 |
self assert: 'instanceMethod:aParam' = method methodDefinitionTemplate. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
62 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
63 |
"/ Class method |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
686
diff
changeset
|
64 |
model createMethodImmediate: mockSuperClass class protocol: 'class-protocol' source: 'classMethod: aParam |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
65 |
self shouldImplement'. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
66 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
67 |
method := classQuery methodForSuperclassSelector: 'classMethod:' class: mockClass class. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
68 |
self assert: 'class-protocol' = method category. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
69 |
self assert: 'classMethod:aParam' = method methodDefinitionTemplate. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
70 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
71 |
"Created: / 14-04-2014 / 18:12:57 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
72 |
"Modified: / 15-06-2014 / 16:17:09 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
73 |
! ! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
74 |