RegressionTests__MRAStringComparatorTest.st
author Stefan Vogel <sv@exept.de>
Tue, 11 Jun 2019 10:34:41 +0200
changeset 2321 32ea6329f5ad
parent 2178 11781ca120e8
permissions -rw-r--r--
class: stx_goodies_regression class changed: #classNamesAndAttributes make classes autoloaded that stc cannot compile (yet)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1669
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#MRAStringComparatorTest
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'sc'
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'tests-Regression-Collections-Utilities'
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
2178
11781ca120e8 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1669
diff changeset
    13
!MRAStringComparatorTest methodsFor:'initialize / release'!
1669
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
setUp
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    sc := PhoneticStringUtilities::MRAStringComparator new
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    "Modified: / 31-07-2017 / 15:16:50 / cg"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
! !
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!MRAStringComparatorTest methodsFor:'tests'!
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
test01_SomeCombinations
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    "tests if all character combinations (up to 4 chars) are handled"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    |code s|
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    $A to:$Z do:[:c1 |
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
        s := String with:c1.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
        code := (sc phoneticStringsFor:s) first.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
        self assert:( code notEmpty).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
        self assert:( code conform:#isLetter).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
        self assert:( code size == 1).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
        self assert:( code first == c1).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
        $A to:$Z do:[:c2 |
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
            s := String with:c1 with:c2.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
            code := (sc phoneticStringsFor:s) first.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
            self assert:( code notEmpty).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
            self assert:( code conform:#isLetter).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
            self assert:( code first == c1).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
            $A to:$Z do:[:c3 |
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
                s := String with:c1 with:c2 with:c3.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
                code := (sc phoneticStringsFor:s) first.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
                self assert:( code notEmpty).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
                self assert:( code conform:#isLetter).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
                self assert:( code first == c1).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
                $A to:$Z do:[:c4 |
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
                    s := String with:c1 with:c2 with:c3 with:c4.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
                    code := (sc phoneticStringsFor:s) first.
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
                    self assert:( code notEmpty).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
                    self assert:( code conform:#isLetter).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
                    self assert:( code first == c1).
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
                ].
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
            ].
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
        ].
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    ].
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    "Created: / 27-07-2017 / 15:14:53 / cg"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "Modified: / 31-07-2017 / 15:19:29 / cg"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
test02_WellKnownResults
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    "tests regular soundex"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    |code soundex|
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    soundex := [:w | (sc phoneticStringsFor:w) first].
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    self assert: ( code := soundex value:( 'Catherine' ))          = 'CTHRN' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    self assert: ( code := soundex value:( 'CatherineCatherine' )) = 'CTHHRN' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    self assert: ( code := soundex value:( 'Butter' )) = 'BTR' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    self assert: ( code := soundex value:( 'Byrne' )) = 'BYRN' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    self assert: ( code := soundex value:( 'Boern' )) = 'BRN' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    self assert: ( code := soundex value:( 'Smith' )) = 'SMTH' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    self assert: ( code := soundex value:( 'Smyth' )) = 'SMYTH' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    self assert: ( code := soundex value:( 'Kathryn' )) = 'KTHRYN' .
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    "Created: / 27-07-2017 / 15:14:59 / cg"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    "Modified: / 31-07-2017 / 15:16:35 / cg"
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
! !
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
!MRAStringComparatorTest class methodsFor:'documentation'!
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
version
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    ^ '$Header$'
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
version_CVS
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    ^ '$Header$'
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
! !
c19be5635e84 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94