author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Sun, 14 Jun 2015 09:46:51 +0100 | |
changeset 833 | 297eb38e4eee |
parent 830 | SmallSense__CustomTestCaseMethodCodeGeneratorTests.st@1a88f5e65fe2 |
child 1072 | a44c741ee5ef |
permissions | -rw-r--r-- |
829
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
1 |
" |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
2 |
A custom code generation and refactoring support for Smalltalk/X |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
3 |
Copyright (C) 2013-2015 Jakub Nesveda |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
4 |
Copyright (C) 2013-now Jan Vrany |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
5 |
|
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
6 |
This library is free software; you can redistribute it and/or |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
7 |
modify it under the terms of the GNU Lesser General Public |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
8 |
License as published by the Free Software Foundation; either |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
9 |
version 2.1 of the License. |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
10 |
|
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
11 |
This library is distributed in the hope that it will be useful, |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
14 |
Lesser General Public License for more details. |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
15 |
|
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
16 |
You should have received a copy of the GNU Lesser General Public |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
17 |
License along with this library; if not, write to the Free Software |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
18 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
19 |
" |
833
297eb38e4eee
Package jn:refactoring_custom renamed to stx:goodies/smallsense/refactoring_custom
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
830
diff
changeset
|
20 |
"{ Package: 'stx:goodies/smallsense/refactoring_custom' }" |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
21 |
|
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
829
diff
changeset
|
22 |
"{ NameSpace: SmallSense }" |
803
95cdac772759
Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
765
diff
changeset
|
23 |
|
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
24 |
CustomCodeGeneratorOrRefactoringTestCase subclass:#CustomTestCaseMethodCodeGeneratorTests |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
25 |
instanceVariableNames:'' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
26 |
classVariableNames:'' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
27 |
poolDictionaries:'' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
28 |
category:'Interface-Refactoring-Custom-Generators-Tests' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
29 |
! |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
30 |
|
829
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
31 |
!CustomTestCaseMethodCodeGeneratorTests class methodsFor:'documentation'! |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
32 |
|
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
33 |
copyright |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
34 |
" |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
35 |
A custom code generation and refactoring support for Smalltalk/X |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
36 |
Copyright (C) 2013-2015 Jakub Nesveda |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
37 |
Copyright (C) 2013-now Jan Vrany |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
38 |
|
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
39 |
This library is free software; you can redistribute it and/or |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
40 |
modify it under the terms of the GNU Lesser General Public |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
41 |
License as published by the Free Software Foundation; either |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
42 |
version 2.1 of the License. |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
43 |
|
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
44 |
This library is distributed in the hope that it will be useful, |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
45 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
46 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
47 |
Lesser General Public License for more details. |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
48 |
|
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
49 |
You should have received a copy of the GNU Lesser General Public |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
50 |
License along with this library; if not, write to the Free Software |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
51 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
52 |
" |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
53 |
! ! |
59bfd92fcef0
Test fixes (all test pass now)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
804
diff
changeset
|
54 |
|
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
55 |
!CustomTestCaseMethodCodeGeneratorTests methodsFor:'accessing'! |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
56 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
57 |
generatorOrRefactoring |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
58 |
^ CustomTestCaseMethodCodeGenerator new |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
59 |
! ! |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
60 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
61 |
!CustomTestCaseMethodCodeGeneratorTests methodsFor:'tests'! |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
62 |
|
765
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
63 |
test_generate_test_method_for_class |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
64 |
| expectedSource method class testClass | |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
65 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
66 |
class := model createClassImmediate: #MockClassForTestCase01 superClassName: #Object. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
67 |
testClass := model createClassImmediate: #MockClassForTestCase01Tests. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
68 |
method := model createMethodImmediate: class source: 'selector_01 ^ 1'. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
69 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
70 |
context selectedMethods: (Array with: method). |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
71 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
72 |
expectedSource := 'test_selector_01 |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
73 |
"/ something selector_01. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
74 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
75 |
self assert:1 = 2.'. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
76 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
77 |
generatorOrRefactoring executeInContext: context. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
78 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
79 |
self assertMethodSource:expectedSource atSelector:#test_selector_01 forClass:testClass |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
80 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
81 |
"Created: / 29-11-2014 / 15:04:16 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
82 |
! |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
83 |
|
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
84 |
test_generate_test_method_for_private_class |
804
14025d247548
Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
85 |
| expectedSource privateClass method testClass | |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
86 |
|
804
14025d247548
Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
87 |
model createClassImmediate: #MockClassForTestCase01 superClassName: #Object. |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
88 |
privateClass := model createClassImmediate: #PrivateClass01 superClassName: #MockClassForTestCase01 privateIn: #MockClassForTestCase01. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
89 |
testClass := model createClassImmediate: #MockClassForTestCase01Tests. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
90 |
method := model createMethodImmediate: privateClass source: 'selector_01 ^ 1'. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
91 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
92 |
context selectedMethods: (Array with: method). |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
93 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
94 |
expectedSource := 'test_selector_01 |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
95 |
"/ something selector_01. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
96 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
97 |
self assert:1 = 2.'. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
98 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
99 |
generatorOrRefactoring executeInContext: context. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
100 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
101 |
self assertMethodSource:expectedSource atSelector:#test_selector_01 forClass:testClass |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
102 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
103 |
"Created: / 31-10-2014 / 00:30:29 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
804
14025d247548
Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
104 |
"Modified: / 25-01-2015 / 15:54:08 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
105 |
! ! |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
106 |