refactoring_custom/SmallSense__CustomTestCaseCodeGenerator.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 23 Apr 2016 18:05:54 +0100
changeset 943 43d408a5e517
parent 884 919f637c2be9
child 1072 a44c741ee5ef
permissions -rw-r--r--
Workaround for (stc?) bug Replaced all `Smalltalk::TestCase` with `(Smalltalk at: #TestCase)` to avoid (presumably stc) bug when accessing it using qualified name.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     1
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     2
A custom code generation and refactoring support for Smalltalk/X
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     3
Copyright (C) 2013-2015 Jakub Nesveda
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     4
Copyright (C) 2013-now  Jan Vrany
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     5
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     6
This library is free software; you can redistribute it and/or
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     8
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
     9
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    10
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    11
This library is distributed in the hope that it will be useful,
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    14
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    15
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    17
License along with this library; if not, write to the Free Software
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    19
"
833
297eb38e4eee Package jn:refactoring_custom renamed to stx:goodies/smallsense/refactoring_custom
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 832
diff changeset
    20
"{ Package: 'stx:goodies/smallsense/refactoring_custom' }"
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    21
830
1a88f5e65fe2 Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 828
diff changeset
    22
"{ NameSpace: SmallSense }"
803
95cdac772759 Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 750
diff changeset
    23
525
06b14d49f485 work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 523
diff changeset
    24
CustomCodeGenerator subclass:#CustomTestCaseCodeGenerator
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
    25
	instanceVariableNames:'testClassName testSuperName testClassCategory generateSetUp
750
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
    26
		generateTearDown samePackageAsTestedClass'
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    27
	classVariableNames:''
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    28
	poolDictionaries:''
559
ba4af98f41c5 Code generators and refactorings moved to their own class category.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 554
diff changeset
    29
	category:'Interface-Refactoring-Custom-Generators'
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    30
!
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    31
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    32
!CustomTestCaseCodeGenerator class methodsFor:'documentation'!
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    33
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    34
copyright
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    35
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    36
A custom code generation and refactoring support for Smalltalk/X
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    37
Copyright (C) 2013-2015 Jakub Nesveda
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    38
Copyright (C) 2013-now  Jan Vrany
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    39
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    40
This library is free software; you can redistribute it and/or
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    41
modify it under the terms of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    42
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    43
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    44
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    45
This library is distributed in the hope that it will be useful,
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    46
but WITHOUT ANY WARRANTY; without even the implied warranty of
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    47
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    48
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    49
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    50
You should have received a copy of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    51
License along with this library; if not, write to the Free Software
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    52
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    53
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    54
! !
554
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
    55
625
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    56
!CustomTestCaseCodeGenerator class methodsFor:'accessing-presentation'!
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    57
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    58
description
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    59
    ^ 'Creates a new test case'
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    60
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    61
    "Created: / 16-09-2014 / 11:32:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    62
!
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    63
625
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    64
group
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    65
    "Returns a collection strings describing a group to which
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    66
     receiver belongs. A groups may be nested hence the array of
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    67
     strings. For example for subgroup 'Accessors' in group 'Generators'
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    68
     this method should return #('Generators' 'Accessors')."
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    69
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    70
    "/ By default return an empty array which means the item will appear
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    71
    "/ in top-level group.
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    72
    ^ #('Testing')
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    73
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    74
    "Created: / 05-08-2014 / 14:52:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    75
!
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    76
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    77
label
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    78
    "Returns show label describing the receiver. This label
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    79
     is used in UI as menu item/tree item label."
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    80
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    81
    ^ 'New Test Case'
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    82
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
    83
    "Created: / 16-09-2014 / 11:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
625
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    84
! !
3072522a351b Added TestCase>>setUp/tearDown generator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 616
diff changeset
    85
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    86
!CustomTestCaseCodeGenerator class methodsFor:'queries'!
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    87
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    88
availableInContext:aCustomContext 
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
    89
    | classes |
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
    90
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
    91
    classes := aCustomContext selectedClasses.
943
43d408a5e517 Workaround for (stc?) bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 884
diff changeset
    92
    ^ classes isEmptyOrNil or:[ classes noneSatisfy: [:cls | cls inheritsFrom: (Smalltalk at:#TestCase) ] ].
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
    93
832
59c248fc74f0 Test fixes: fixes various class name references here and there
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 830
diff changeset
    94
    "Modified: / 12-06-2015 / 20:45:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    95
!
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    96
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    97
availableInPerspective:aCustomPerspective 
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    98
    ^aCustomPerspective isClassPerspective
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    99
! !
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   100
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   101
!CustomTestCaseCodeGenerator methodsFor:'accessing'!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   102
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   103
generateSetUp
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   104
    ^ generateSetUp
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   105
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   106
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   107
generateSetUp:aBoolean
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   108
    generateSetUp := aBoolean.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   109
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   110
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   111
generateTearDown
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   112
    ^ generateTearDown
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   113
!
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   114
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   115
generateTearDown:aBoolean
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   116
    generateTearDown := aBoolean.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   117
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   118
750
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   119
samePackageAsTestedClass
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   120
    "Returns true when we should assign TestCase class 
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   121
    to the same package as tested class."
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   122
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   123
    ^ samePackageAsTestedClass
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   124
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   125
    "Created: / 15-11-2014 / 11:54:37 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   126
!
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   127
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   128
samePackageAsTestedClass: aBoolean
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   129
    "see samePackageAsTestedClass"
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   130
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   131
    samePackageAsTestedClass := aBoolean
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   132
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   133
    "Created: / 15-11-2014 / 11:56:36 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   134
!
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   135
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   136
testClassCategory
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   137
    ^ testClassCategory
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   138
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   139
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   140
testClassCategory:aString
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   141
    testClassCategory := aString.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   142
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   143
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   144
testClassName
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   145
    ^ testClassName
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   146
!
565
e80ce770e237 CustomTestCaseCodeGenerator made as abstract to support multiple implementations of TestCase generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 554
diff changeset
   147
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   148
testClassName:aString
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   149
    testClassName := aString.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   150
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   151
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   152
testSuperName
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   153
    ^ testSuperName
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   154
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   155
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   156
testSuperName:aString
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   157
    testSuperName := aString.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   158
! !
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   159
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   160
!CustomTestCaseCodeGenerator methodsFor:'accessing - defaults'!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   161
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   162
defaultGenerateSetUp
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   163
    "raise an error: this method should be implemented (TODO)"
565
e80ce770e237 CustomTestCaseCodeGenerator made as abstract to support multiple implementations of TestCase generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 554
diff changeset
   164
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   165
    ^ false
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   166
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   167
    "Created: / 16-09-2014 / 10:27:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
565
e80ce770e237 CustomTestCaseCodeGenerator made as abstract to support multiple implementations of TestCase generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 554
diff changeset
   168
!
e80ce770e237 CustomTestCaseCodeGenerator made as abstract to support multiple implementations of TestCase generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 554
diff changeset
   169
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   170
defaultGenerateTearDown
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   171
    "raise an error: this method should be implemented (TODO)"
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   172
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   173
    ^ false
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   174
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   175
    "Created: / 16-09-2014 / 10:27:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   176
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   177
750
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   178
defaultSamePackageAsTestedClass
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   179
    "default value for samePackageAsTestedClass"
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   180
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   181
    ^ true
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   182
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   183
    "Created: / 15-11-2014 / 12:21:40 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   184
!
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   185
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   186
defaultSetUpCodeGeneratorClass
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   187
    ^ CustomTestCaseSetUpCodeGenerator
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   188
!
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   189
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   190
defaultTearDownCodeGeneratorClass
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   191
    ^ CustomTestCaseTearDownCodeGenerator
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   192
!
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   193
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   194
defaultTestSuperName
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   195
    ^ 'TestCase'
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   196
! !
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   197
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   198
!CustomTestCaseCodeGenerator methodsFor:'executing - private'!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   199
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   200
buildInContext:aCustomContext 
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   201
    | classes |
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   202
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   203
    classes := aCustomContext selectedClasses.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   204
    classes notEmptyOrNil ifTrue: [ 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   205
        classes do: [:cls | 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   206
            | name | 
523
afbbedbfceb8 sync with jv changes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   207
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   208
            name := cls theNonMetaClass name , 'Tests'.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   209
            self generateTestCaseNamed:name forClassUnderTest: cls theNonMetaclass
565
e80ce770e237 CustomTestCaseCodeGenerator made as abstract to support multiple implementations of TestCase generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 554
diff changeset
   210
        ]
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   211
    ] ifFalse:[ 
689
488503cd3baa fixes in TestCase code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   212
        self generateTestCaseNamed:testClassName forClassUnderTest: nil .  
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   213
    ].
536
80a72fd7d986 change TestCase code generator to the new builder API
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 525
diff changeset
   214
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   215
    "Modified: / 16-09-2014 / 10:30:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
689
488503cd3baa fixes in TestCase code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   216
    "Modified: / 10-10-2014 / 23:49:43 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   217
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   218
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   219
configureInContext:aCustomContext 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   220
    | classes |
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   221
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   222
    classes := aCustomContext selectedClasses.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   223
    testSuperName := self defaultTestSuperName.
804
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
   224
    classes isEmptyOrNil ifTrue:[
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   225
        testClassName := 'NewTestCase'.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   226
        testClassCategory := 'Some Tests'
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   227
    ] ifFalse:[
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   228
        classes size == 1 ifTrue:[
695
a746f184b5a1 fix TestCase code generator to be used with metaclass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 690
diff changeset
   229
            testClassName := classes anElement theNonMetaclass name , 'Tests'.
a746f184b5a1 fix TestCase code generator to be used with metaclass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 690
diff changeset
   230
            testClassCategory := classes anElement theNonMetaclass category , '-Tests'.
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   231
        ] ifFalse:[
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   232
            testClassCategory := 'Some Tests'.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   233
        ].
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   234
    ].
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   235
    generateSetUp := self defaultGenerateSetUp.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   236
    generateTearDown := self defaultGenerateTearDown.
750
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   237
    samePackageAsTestedClass := self defaultSamePackageAsTestedClass.
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   238
    
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   239
    "/ Now open the dialog...
699
36ecaf53d60d show dialog also for one selected class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 695
diff changeset
   240
36ecaf53d60d show dialog also for one selected class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 695
diff changeset
   241
    classes size <= 1 ifTrue: [
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   242
        dialog 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   243
            addClassNameEntryOn:((AspectAdaptor forAspect:#testClassName) 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   244
                    subject:self)
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   245
            labeled:'Class'
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   246
            validateBy:nil.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   247
    ].
699
36ecaf53d60d show dialog also for one selected class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 695
diff changeset
   248
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   249
    dialog 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   250
        addClassNameEntryOn:((AspectAdaptor forAspect:#testSuperName) 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   251
                subject:self)
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   252
        labeled:'Superclass'
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   253
        validateBy:nil.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   254
    dialog 
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   255
        addClassCategoryEntryOn:((AspectAdaptor forAspect:#testClassCategory) 
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   256
                subject:self)
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   257
        labeled:'Category'
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   258
        validateBy:nil.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   259
    dialog addSeparator.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   260
    dialog 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   261
        addCheckBoxOn:((AspectAdaptor forAspect:#generateSetUp) subject:self)
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   262
        labeled:'Generate #setUp'.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   263
    dialog 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   264
        addCheckBoxOn:((AspectAdaptor forAspect:#generateTearDown) subject:self)
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   265
        labeled:'Generate #tearDown'.
750
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   266
    dialog 
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   267
        addCheckBoxOn:((AspectAdaptor forAspect:#samePackageAsTestedClass) subject:self)
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   268
        labeled:'Same package as tested class'.   
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   269
    dialog addButtons.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   270
    dialog open.
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   271
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   272
    "Created: / 16-09-2014 / 09:39:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   273
    "Modified: / 16-09-2014 / 11:27:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
804
14025d247548 Improved code quality/readibility with help of Smalllint
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 803
diff changeset
   274
    "Modified: / 25-01-2015 / 16:03:44 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   275
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   276
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   277
generateTestCaseCodeFor:testCase forClassUnderTest:anObject 
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   278
    self 
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   279
        generateTestCaseSetUpCodeFor: testCase;
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   280
        generateTestCaseTearDownCodeFor: testCase.
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   281
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   282
    "Modified: / 16-09-2014 / 11:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   283
!
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   284
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   285
generateTestCaseNamed:testCaseClassName forClassUnderTest:classUnderTest 
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   286
    | testCase |
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   287
688
6bd18ba5e56c completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 683
diff changeset
   288
    (testCase := model createClass)
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   289
        superclassName:testSuperName;
689
488503cd3baa fixes in TestCase code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   290
        name:testClassName asSymbol;
750
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   291
        category:testClassCategory.
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   292
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   293
    self samePackageAsTestedClass ifTrue: [ 
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   294
        testCase package: classUnderTest package
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   295
    ].
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   296
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   297
    testCase compile.
689
488503cd3baa fixes in TestCase code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 688
diff changeset
   298
670
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   299
    self generateTestCaseCodeFor:testCase forClassUnderTest:classUnderTest
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   300
f49ac58dd32c Fixes / improvements in testcase generatoris, update to new API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   301
    "Created: / 16-09-2014 / 10:28:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
750
1696b42da73d add possibility to generate test case class with same package as tested class in CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 733
diff changeset
   302
    "Modified: / 15-11-2014 / 15:32:01 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   303
!
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   304
806
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   305
generateTestCaseSetUpCodeFor: testCase   
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   306
    generateSetUp ifTrue: [
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   307
        | subcontext |
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   308
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   309
        subcontext := CustomSubContext new.
807
e615fdd7511d Ooops, remove debug print
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 806
diff changeset
   310
        subcontext selectedClasses: (Array with: testCase).
806
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   311
        (self defaultSetUpCodeGeneratorClass subGeneratorOrRefactoringOf: self)
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   312
            samePackageAsTestedClass: self samePackageAsTestedClass;  
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   313
            executeInContext: subcontext.
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   314
    ].
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   315
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   316
    "Created: / 16-09-2014 / 11:15:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
683
6eb387084ba2 Call executeInContext: API instead of internal buildInContext:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 671
diff changeset
   317
    "Modified: / 01-10-2014 / 23:52:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
807
e615fdd7511d Ooops, remove debug print
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 806
diff changeset
   318
    "Modified: / 31-01-2015 / 23:30:50 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   319
!
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   320
806
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   321
generateTestCaseTearDownCodeFor: testCase 
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   322
    generateTearDown ifTrue: [
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   323
        | subcontext |
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   324
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   325
        subcontext := CustomSubContext new.
806
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   326
        subcontext selectedClasses: (Array with: testCase).
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   327
        (self defaultTearDownCodeGeneratorClass subGeneratorOrRefactoringOf: self) 
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   328
            samePackageAsTestedClass: self samePackageAsTestedClass;  
683
6eb387084ba2 Call executeInContext: API instead of internal buildInContext:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 671
diff changeset
   329
            executeInContext:subcontext.
671
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   330
    ].
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   331
ad1e0393231a Fixes in test case generators. Added generators for UI test cases.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 670
diff changeset
   332
    "Created: / 16-09-2014 / 11:15:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
683
6eb387084ba2 Call executeInContext: API instead of internal buildInContext:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 671
diff changeset
   333
    "Modified: / 01-10-2014 / 23:52:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
806
c1983320e2cf Fixed package set in test case generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 804
diff changeset
   334
    "Modified: / 31-01-2015 / 22:14:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
884
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   335
!
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   336
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   337
updateInContext:aCustomContext 
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   338
    aCustomContext selectClassNamed: testClassName
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   339
919f637c2be9 Added support to update browser's selection after code is generated.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
   340
    "Created: / 29-08-2015 / 13:37:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
661
b327c8833f1a same package in generated test cases as in tested classes - CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 635
diff changeset
   341
! !
b327c8833f1a same package in generated test cases as in tested classes - CustomTestCaseCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 635
diff changeset
   342
554
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
   343
!CustomTestCaseCodeGenerator class methodsFor:'documentation'!
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
   344
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
   345
version_HG
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
   346
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
   347
    ^ '$Changeset: <not expanded> $'
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
   348
! !
413593e0e5d0 Fixes in CustomSourceCodeBuilderTests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 553
diff changeset
   349