RegressionTests__TSTreeTests.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2186 68126ca5ac39
child 2366 6db83dbb1dbe
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1124
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
1124
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
TestCase subclass:#TSTreeTests
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'tree empty'
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'tests-Regression-Collections'
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!TSTreeTests methodsFor:'as yet unclassified'!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
testAt
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	self assert: (tree at: 'abear') = 'ABEAR'.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	self assert: (tree at: 'abelmosk') = 'ABELMOSK'.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	self assert: (tree at: 'abracadabra' ifAbsent: [42]) = 42.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	self assert: (tree at: '' ifAbsent: [42]) = 42.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1124
diff changeset
    20
	self assert: (empty at: 'foo' ifAbsent: [42]) = 42
1124
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
testMatch
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
	self assert: (tree matchesForString: 'abea' distance: 1) asSet = #(ABEAM ABEAR ABED ABEL ABET ABE) asSet.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	self assert: (tree matchesForString: 'abel' distance: 2) asSet = #(ABELIA ABEAM ABEAR) asSet.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	self assert: (tree matchesForString: 'abel' distance: 0) = #(ABEL).
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	self assert: (tree matchesForString: '' distance: 1) = #().
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	self assert: (empty matchesForString: 'foo' distance: 0) = #()
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
testPrefix
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	self assert: (tree matchesForPrefix: 'abet') asSet = #(ABET ABETMENT) asSet.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
	self assert: (tree matchesForPrefix: 'abelm') asSet = #(ABELMOSCHUS ABELMOSK) asSet.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
	self assert: (tree matchesForPrefix: '') asSet = (self words asSet collect: [:ea | ea asUppercase]).
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
	self assert: (empty matchesForPrefix: 'foo') = #()
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
testRemove
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
	self assert: (tree at: 'abel') = 'ABEL'.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
	self assert: (tree removeKey: 'abel') = 'ABEL'.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
	self assert: (tree at: 'abel' ifAbsent: [42]) = 42.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
	self assert: (tree at: 'abelmosk') = 'ABELMOSK'.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
	self assert: (tree removeKey: 'foo' ifAbsent: [42]) = 42.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
	self assert: (tree removeKey: 'abel' ifAbsent: [42]) = 42.
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
testValues
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
	self assert: tree values asSet = (self words asSet collect: [:ea | ea asUppercase]).
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
	self assert: empty values isEmpty
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
tstreeClass
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    ^ TSTree
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
words
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
	^ #(
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
abe
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
abeam
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
abear
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
abearance
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
abecedarian
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
abecedarium
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
abecedary
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
abed
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
abeigh
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
abel
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
abele
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
abelia
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
abelian
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
abelicea
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
abelite
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
abelite
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
abelmoschus
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
abelmosk
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
abelonian
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
abeltree
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
abencerrages
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
abenteric
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
abepithymia
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
aberdeen
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
aberdevine
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
aberdonian
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
aberia
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
aberrance
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
aberrancy
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
aberrant
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
aberrate
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
aberration
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
aberrational
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
aberrator
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
aberrometer
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
aberroscope
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
aberuncator
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
abet
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1124
diff changeset
    96
abetment)
1124
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
! !
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
2186
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    99
!TSTreeTests methodsFor:'initialize / release'!
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   100
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   101
setUp
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   102
    tree := self tstreeClass new.
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   103
    self words shuffled do:[:ea |
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   104
	tree at:ea put:ea asUppercase
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   105
    ].
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   106
    empty := self tstreeClass new.
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   107
! !
68126ca5ac39 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   108
1124
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
!TSTreeTests class methodsFor:'documentation'!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
version
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
    ^ '$Header$'
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
!
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
version_CVS
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
    ^ '$Header$'
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
! !
35cb86d34adf initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118