--- a/RegressionTests__MetaphoneStringComparatorTest.st Thu Aug 03 15:04:30 2017 +0200
+++ b/RegressionTests__MetaphoneStringComparatorTest.st Thu Aug 03 15:05:05 2017 +0200
@@ -55,11 +55,74 @@
!
test02_WellKnownResults
- "tests regular soundex"
+ "tests some wellknown metaphone codes"
#(
+ 'a' 'A'
'Miller' 'MLR'
+ 'ch' 'X'
+
+ 'ANASTHA' 'ANS0'
+ 'DAVIS-CARTER' 'TFSKRTR'
+ 'ESCARMANT' 'ESKRMNT'
+ 'MERSEAL' 'MRSL'
+ 'PIEURISSAINT' 'PRSNT'
+ 'ROTMAN' 'RTMN'
+ 'SEAL' 'SL'
+ 'SPARR' 'SPR'
+ 'STARLEPER' 'STRLPR'
+ 'THRASH' '0RX'
+
+ 'LOGGING' 'LKNK'
+ 'LOGIC' 'LJK'
+ 'JUDGES' 'JJS'
+
+ 'SHOOS' 'XS'
+ 'SHOES' 'XS'
+
+ 'OTTO' 'OT'
+ 'ERIC' 'ERK'
+ 'DAVE' 'TF'
+ 'CATHERINE' 'K0RN'
+ 'KATHERINE' 'K0RN'
+ 'AUBREY' 'ABR'
+ 'BRYAN' 'BRYN'
+ 'BRYCE' 'BRS'
+ 'STEVEN' 'STFN'
+ 'HEIDI' 'HT'
+ 'AUTO' 'AT'
+ 'MAURICE' 'MRS'
+ 'RANDY' 'RNT'
+ 'CAMBRILLO' 'KMBRL'
+ 'BRIAN' 'BRN'
+ 'RAY' 'R'
+ 'GEOFF' 'JF'
+ 'BOB' 'BB'
+
+ 'AHA' 'AH'
+ 'AAH' 'A'
+
+ 'PAUL' 'PL'
+ 'BATTLEY' 'BTL'
+ 'WROTE' 'RT'
+ 'THIS' '0S'
+
+ 'MCCALL' 'MKL'
+ 'MCCROREY' 'MKRR'
+
+ 'Sch' 'SX'
+ 'Schi' 'SX'
'Schmid' 'SXMT'
+ 'Schmidt' 'SXMTT' "/ bad, but that is how metaphone works
+ 'Schmit' 'SXMT'
+ 'Schmitt' 'SXMDT'
+
+ 'CHUTE' 'XT'
+ 'SCHEVEL' 'SXFL'
+ 'SCHROM' 'SXRM'
+ 'SCHUSS' 'SXS'
+ 'RICHARD' 'RXRT'
+
) pairWiseDo:[:word :expected |
|whatIGot|
@@ -68,7 +131,17 @@
].
"Created: / 27-07-2017 / 15:14:59 / cg"
- "Modified: / 02-08-2017 / 13:05:56 / cg"
+ "Modified (comment): / 03-08-2017 / 14:57:10 / cg"
+!
+
+test03_SomeCombinations
+ |code|
+
+ "/ code := (sc phoneticStringsFor:'AAH') first.
+ code := (sc encode:'AAH').
+ self assert:( code = 'A').
+
+ "Created: / 03-08-2017 / 14:53:40 / cg"
! !
!MetaphoneStringComparatorTest class methodsFor:'documentation'!