fuzzystrmatch: Add test suite

Reviewed-by: David Steele <david@pgmasters.net>
This commit is contained in:
Peter Eisentraut 2017-08-11 21:04:04 -04:00
parent b28dfa6d6f
commit 6141123a82
5 changed files with 98 additions and 4 deletions

4
contrib/fuzzystrmatch/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
# Generated subdirectories
/log/
/results/
/tmp_check/

View File

@ -8,6 +8,8 @@ DATA = fuzzystrmatch--1.1.sql fuzzystrmatch--1.0--1.1.sql \
fuzzystrmatch--unpackaged--1.0.sql
PGFILEDESC = "fuzzystrmatch - similarities and distance between strings"
REGRESS = fuzzystrmatch
ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)

View File

@ -0,0 +1,67 @@
CREATE EXTENSION fuzzystrmatch;
SELECT soundex('hello world!');
soundex
---------
H464
(1 row)
SELECT soundex('Anne'), soundex('Ann'), difference('Anne', 'Ann');
soundex | soundex | difference
---------+---------+------------
A500 | A500 | 4
(1 row)
SELECT soundex('Anne'), soundex('Andrew'), difference('Anne', 'Andrew');
soundex | soundex | difference
---------+---------+------------
A500 | A536 | 2
(1 row)
SELECT soundex('Anne'), soundex('Margaret'), difference('Anne', 'Margaret');
soundex | soundex | difference
---------+---------+------------
A500 | M626 | 0
(1 row)
SELECT levenshtein('GUMBO', 'GAMBOL');
levenshtein
-------------
2
(1 row)
SELECT levenshtein('GUMBO', 'GAMBOL', 2, 1, 1);
levenshtein
-------------
3
(1 row)
SELECT levenshtein_less_equal('extensive', 'exhaustive', 2);
levenshtein_less_equal
------------------------
3
(1 row)
SELECT levenshtein_less_equal('extensive', 'exhaustive', 4);
levenshtein_less_equal
------------------------
4
(1 row)
SELECT metaphone('GUMBO', 4);
metaphone
-----------
KM
(1 row)
SELECT dmetaphone('gumbo');
dmetaphone
------------
KMP
(1 row)
SELECT dmetaphone_alt('gumbo');
dmetaphone_alt
----------------
KMP
(1 row)

View File

@ -0,0 +1,21 @@
CREATE EXTENSION fuzzystrmatch;
SELECT soundex('hello world!');
SELECT soundex('Anne'), soundex('Ann'), difference('Anne', 'Ann');
SELECT soundex('Anne'), soundex('Andrew'), difference('Anne', 'Andrew');
SELECT soundex('Anne'), soundex('Margaret'), difference('Anne', 'Margaret');
SELECT levenshtein('GUMBO', 'GAMBOL');
SELECT levenshtein('GUMBO', 'GAMBOL', 2, 1, 1);
SELECT levenshtein_less_equal('extensive', 'exhaustive', 2);
SELECT levenshtein_less_equal('extensive', 'exhaustive', 4);
SELECT metaphone('GUMBO', 4);
SELECT dmetaphone('gumbo');
SELECT dmetaphone_alt('gumbo');

View File

@ -133,19 +133,19 @@ test=# SELECT levenshtein('GUMBO', 'GAMBOL');
2
(1 row)
test=# SELECT levenshtein('GUMBO', 'GAMBOL', 2,1,1);
test=# SELECT levenshtein('GUMBO', 'GAMBOL', 2, 1, 1);
levenshtein
-------------
3
(1 row)
test=# SELECT levenshtein_less_equal('extensive', 'exhaustive',2);
test=# SELECT levenshtein_less_equal('extensive', 'exhaustive', 2);
levenshtein_less_equal
------------------------
3
(1 row)
test=# SELECT levenshtein_less_equal('extensive', 'exhaustive',4);
test=# SELECT levenshtein_less_equal('extensive', 'exhaustive', 4);
levenshtein_less_equal
------------------------
4
@ -227,7 +227,7 @@ dmetaphone_alt(text source) returns text
</para>
<screen>
test=# select dmetaphone('gumbo');
test=# SELECT dmetaphone('gumbo');
dmetaphone
------------
KMP