📄 soundex.t
字号:
#!./perl## $Id: soundex.t,v 1.2 1994/03/24 00:30:27 mike Exp $## test module for soundex.pl## $Log: soundex.t,v $# Revision 1.2 1994/03/24 00:30:27 mike# Subtle bug (any excuse :-) spotted by Rich Pinder <rpinder@hsc.usc.edu># in the way I handles leasing characters which were different but had# the same soundex code. This showed up comparing it with Oracle's# soundex output.## Revision 1.1 1994/03/02 13:03:02 mike# Initial revision##BEGIN { chdir 't' if -d 't'; @INC = '../lib';}use Text::Soundex;$test = 0;print "1..13\n";while (<DATA>){ chop; next if /^\s*;?#/; next if /^\s*$/; ++$test; $bad = 0; if (/^eval\s+/) { ($try = $_) =~ s/^eval\s+//; eval ($try); if ($@) { $bad++; print "not ok $test\n"; print "# eval '$try' returned $@"; } } elsif (/^\(/) { ($in, $out) = split (':'); $try = "\@expect = $out; \@got = &soundex $in;"; eval ($try); if (@expect != @got) { $bad++; print "not ok $test\n"; print "# expected ", scalar @expect, " results, got ", scalar @got, "\n"; print "# expected (", join (', ', @expect), ") got (", join (', ', @got), ")\n"; } else { while (@got) { $expect = shift @expect; $got = shift @got; if ($expect ne $got) { $bad++; print "not ok $test\n"; print "# expected $expect, got $got\n"; } } } } else { ($in, $out) = split (':'); $try = "\$expect = $out; \$got = &soundex ($in);"; eval ($try); if ($expect ne $got) { $bad++; print "not ok $test\n"; print "# expected $expect, got $got\n"; } } print "ok $test\n" unless $bad;}__END__## 1..6## Knuth's test cases, scalar in, scalar out#'Euler':'E460''Gauss':'G200''Hilbert':'H416''Knuth':'K530''Lloyd':'L300''Lukasiewicz':'L222'## 7..8## check default bad code#'2 + 2 = 4':undefundef:undef## 9## check array in, array out#('Ellery', 'Ghosh', 'Heilbronn', 'Kant', 'Ladd', 'Lissajous'):('E460', 'G200', 'H416', 'K530', 'L300', 'L222')## 10## check array with explicit undef#('Mike', undef, 'Stok'):('M200', undef, 'S320')## 11..12## check setting $Text::Soundex::noCode#eval $soundex_nocode = 'Z000';('Mike', undef, 'Stok'):('M200', 'Z000', 'S320')## 13## a subtle difference between me & oracle, spotted by Rich Pinder# <rpinder@hsc.usc.edu>#CZARKOWSKA:C622
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -