packages/AbstractTestCases.st
author Claus Gittinger <cg@exept.de>
Thu, 14 Jun 2018 17:02:40 +0200
changeset 4329 f1a534377d1e
parent 1444 b48e0dc3740e
child 3011 1997ff6e7e55
permissions -rw-r--r--
#UI_ENHANCEMENT by cg class: SourceCodeManagerUtilities class definition changed: #checkoutClass:askForRevision:askForMerge:askForConfirmation: optout the "only version methods are different..." dialog
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1444
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     1
"
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     2
 COPYRIGHT (c) 2003 by eXept Software AG
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     3
              All Rights Reserved
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     4
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     5
 This software is furnished under a license and may be used
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     6
 only in accordance with the terms of that license and with the
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     8
 be provided or otherwise made available to, or used by, any
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
     9
 other person.  No title to or ownership of the software is
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    10
 hereby transferred.
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    11
"
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    12
1235
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    13
"{ Package: 'stx:libbasic3' }"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    14
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    15
"{ NameSpace: Packages }"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    16
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    17
TestCase subclass:#AbstractTestCases
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    18
	instanceVariableNames:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    19
	classVariableNames:'ClearUpFiles'
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    20
	poolDictionaries:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    21
	category:'Package-TestCases'
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    22
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    23
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    24
Notification subclass:#PackageTestCaseNotification
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    25
	instanceVariableNames:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    26
	classVariableNames:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    27
	poolDictionaries:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    28
	privateIn:AbstractTestCases
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    29
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    30
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    31
!AbstractTestCases class methodsFor:'documentation'!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    32
1444
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    33
copyright
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    34
"
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    35
 COPYRIGHT (c) 2003 by eXept Software AG
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    36
              All Rights Reserved
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    37
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    38
 This software is furnished under a license and may be used
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    39
 only in accordance with the terms of that license and with the
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    40
 inclusion of the above copyright notice.   This software may not
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    41
 be provided or otherwise made available to, or used by, any
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    42
 other person.  No title to or ownership of the software is
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    43
 hereby transferred.
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    44
"
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    45
!
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
    46
1235
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    47
documentation
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    48
"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    49
    documentation to be added.
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    50
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    51
    [author:]
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    52
         (james@miraculix)
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    53
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    54
    [instance variables:]
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    55
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    56
    [class variables:]
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    57
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    58
    [see also:]
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    59
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    60
"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    61
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    62
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    63
history
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    64
    "Created: / 30.1.2003 / 10:54:54 / james"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    65
! !
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    66
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    67
!AbstractTestCases methodsFor:'factory'!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    68
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    69
packageTestCaseNotification
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    70
    ^ PackageTestCaseNotification
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    71
! !
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    72
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    73
!AbstractTestCases methodsFor:'helpers'!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    74
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    75
aDolphinTestFilePac
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    76
    ^ '~/AvatarChat.pac' asFilename.
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    77
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    78
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    79
assertSmalltalkIncludesAllClassNames:aCollectionOfSymbols 
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    80
    aCollectionOfSymbols do:[:aSymbol |
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    81
        self shouldnt:((Smalltalk at:aSymbol ifAbsent:[nil]) == nil).
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    82
    ].
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    83
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    84
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    85
assertSmalltalkIncludesAllLooseMethods:aCollectionOfLooseMethods
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    86
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    87
    aCollectionOfLooseMethods do:[:aPackagedMethod |   | class |
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    88
        class := (Smalltalk at:aPackagedMethod mclass name).
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    89
        self assert:(class methodDictionary keys includes:aPackagedMethod name).
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    90
    ].
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    91
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    92
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    93
createMethodFor:aClass source:aString
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    94
    aClass
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    95
        compile:aString
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    96
        classified:'aDummyClassification'
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    97
        notifying:nil.
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    98
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
    99
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   100
createTestCaseDirectory
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   101
    "create the testcase directory if i"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   102
    | testCaseDirectory |
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   103
    (testCaseDirectory := self testCaseDirectory) exists ifFalse:[
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   104
        testCaseDirectory makeDirectory.
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   105
    ].
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   106
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   107
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   108
createTestCaseFilenameFor:aFilenameOrString 
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   109
    ^ self testCaseDirectory filenameFor:aFilenameOrString asFilename
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   110
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   111
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   112
initializePackageManager
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   113
    PackageManager initialize.
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   114
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   115
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   116
packageManager
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   117
    ^ PackageManager smalltalkPackageManager
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   118
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   119
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   120
removeClassNamed:aSymbol 
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   121
    (Smalltalk at:aSymbol) ifNotNil:[
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   122
        ^ (Smalltalk at:aSymbol) removeFromSystem.
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   123
    ]
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   124
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   125
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   126
shouldntSmalltalkIncludesAllClassNames:aCollectionOfSymbols 
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   127
    aCollectionOfSymbols do:[:aSymbol |
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   128
        self assert:((Smalltalk at:aSymbol ifAbsent:[nil]) == nil).
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   129
    ].
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   130
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   131
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   132
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   133
shouldntSmalltalkIncludesAllLooseMethods:aCollectionOfLooseMethods
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   134
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   135
    aCollectionOfLooseMethods do:[:aMethod |  | class|
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   136
        class := (Smalltalk classNamed:aMethod className).
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   137
        "if class is nil then the test has also passed"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   138
        class ifNotNil:[
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   139
            self shouldnt:(class methodDictionary keys includes:aMethod name).
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   140
        ].
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   141
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   142
    ].
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   143
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   144
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   145
testCaseDirectory
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   146
    ^ (Filename named:'~/work/stx/testCases/')
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   147
! !
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   148
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   149
!AbstractTestCases methodsFor:'initialize / release'!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   150
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   151
setUp
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   152
    "common setup - invoked before testing"
1274
9dd9784c811c *** empty log message ***
james
parents: 1235
diff changeset
   153
    self initialize.
1235
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   154
    super setUp
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   155
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   156
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   157
tearDown
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   158
    "common cleanup - invoked after testing"
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   159
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   160
    super tearDown
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   161
! !
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   162
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   163
!AbstractTestCases methodsFor:'instance creation'!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   164
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   165
createClassNamed:aClassName 
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   166
    self createClassNamed:aClassName inheritsFrom:#Object
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   167
!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   168
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   169
createClassNamed:aClassName inheritsFrom:anInheritingClassName
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   170
    ^ (Smalltalk at:anInheritingClassName) 
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   171
        subclass:aClassName
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   172
        instanceVariableNames:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   173
        classVariableNames:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   174
        poolDictionaries:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   175
        category:'AAAAA'
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   176
        classInstanceVariableNames:''
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   177
! !
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   178
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   179
!AbstractTestCases methodsFor:'queries'!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   180
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   181
clearUpFiles
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   182
    ClearUpFiles ifNil:[
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   183
        ClearUpFiles := false.
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   184
    ].
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   185
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   186
    ^ ClearUpFiles
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   187
! !
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   188
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   189
!AbstractTestCases class methodsFor:'documentation'!
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   190
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   191
version
1444
b48e0dc3740e copyright
Claus Gittinger <cg@exept.de>
parents: 1274
diff changeset
   192
    ^ '$Header: /cvs/stx/stx/libbasic3/packages/AbstractTestCases.st,v 1.3 2006-01-10 09:29:37 cg Exp $'
1235
4dbb8a0a8e29 initial checkin
james
parents:
diff changeset
   193
! !