fuzzystrmatch: Add test suite
authorPeter Eisentraut <peter_e@gmx.net>
Sat, 12 Aug 2017 01:04:04 +0000 (21:04 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Fri, 15 Sep 2017 02:22:59 +0000 (22:22 -0400)
Reviewed-by: David Steele <david@pgmasters.net>
contrib/fuzzystrmatch/.gitignore [new file with mode: 0644]
contrib/fuzzystrmatch/Makefile
contrib/fuzzystrmatch/expected/fuzzystrmatch.out [new file with mode: 0644]
contrib/fuzzystrmatch/sql/fuzzystrmatch.sql [new file with mode: 0644]
doc/src/sgml/fuzzystrmatch.sgml

diff --git a/contrib/fuzzystrmatch/.gitignore b/contrib/fuzzystrmatch/.gitignore
new file mode 100644 (file)
index 0000000..5dcb3ff
--- /dev/null
@@ -0,0 +1,4 @@
+# Generated subdirectories
+/log/
+/results/
+/tmp_check/
index 51e215a919e8b889055acc1915fdc29f0e5db7ac..bd6f5e50d1a9dac46acfc897f7c3d81454066c67 100644 (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)
diff --git a/contrib/fuzzystrmatch/expected/fuzzystrmatch.out b/contrib/fuzzystrmatch/expected/fuzzystrmatch.out
new file mode 100644 (file)
index 0000000..493c95c
--- /dev/null
@@ -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)
+
diff --git a/contrib/fuzzystrmatch/sql/fuzzystrmatch.sql b/contrib/fuzzystrmatch/sql/fuzzystrmatch.sql
new file mode 100644 (file)
index 0000000..f05dc28
--- /dev/null
@@ -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');
index feb06861da38590c15ec7511f803b0a93b74ee62..ff5bc08fea8e9995605d2caa84bb87bbec6a9d8b 100644 (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