From 21d125abedc7a0ae66fc84360cf231bc87df9a21 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 9 Apr 2024 16:31:52 -0700 Subject: [PATCH] Improved tests [skip ci] --- test/expected/cast.out | 12 ++++++++++++ test/expected/sparsevec_input.out | 22 ++++++++-------------- test/sql/cast.sql | 2 ++ test/sql/sparsevec_input.sql | 5 ++--- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/test/expected/cast.out b/test/expected/cast.out index a5772d4..96be04f 100644 --- a/test/expected/cast.out +++ b/test/expected/cast.out @@ -70,6 +70,18 @@ SELECT '[1e-8]'::vector::halfvec; [0] (1 row) +SELECT '{2:1.5,4:3.5}/5'::sparsevec::vector; + vector +----------------- + [0,1.5,0,3.5,0] +(1 row) + +SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; + sparsevec +----------------- + {2:1.5,4:3.5}/5 +(1 row) + SELECT array_agg(n)::vector FROM generate_series(1, 16001) n; ERROR: vector cannot have more than 16000 dimensions SELECT array_to_vector(array_agg(n), 16001, false) FROM generate_series(1, 16001) n; diff --git a/test/expected/sparsevec_input.out b/test/expected/sparsevec_input.out index 5a73994..ce5d8d1 100644 --- a/test/expected/sparsevec_input.out +++ b/test/expected/sparsevec_input.out @@ -10,20 +10,6 @@ SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector; [1.5,0,3.5,0,0] (1 row) -SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(5); - vector ------------------ - [1.5,0,3.5,0,0] -(1 row) - -SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(4); -ERROR: expected 4 dimensions, not 5 -SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; - sparsevec ------------------ - {2:1.5,4:3.5}/5 -(1 row) - SELECT ''::sparsevec; ERROR: malformed sparsevec literal: "" LINE 1: SELECT ''::sparsevec; @@ -104,3 +90,11 @@ LINE 1: SELECT '{2:1}/1'::sparsevec; ^ SELECT '{}/1'::sparsevec(2); ERROR: expected 2 dimensions, not 1 +SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(5); + vector +----------------- + [1.5,0,3.5,0,0] +(1 row) + +SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(4); +ERROR: expected 4 dimensions, not 5 diff --git a/test/sql/cast.sql b/test/sql/cast.sql index 2a43671..5d8ca36 100644 --- a/test/sql/cast.sql +++ b/test/sql/cast.sql @@ -16,6 +16,8 @@ SELECT '[1,2,3]'::vector::halfvec(2); SELECT '[1,2,3]'::halfvec::vector(2); SELECT '[65520]'::vector::halfvec; SELECT '[1e-8]'::vector::halfvec; +SELECT '{2:1.5,4:3.5}/5'::sparsevec::vector; +SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; SELECT array_agg(n)::vector FROM generate_series(1, 16001) n; SELECT array_to_vector(array_agg(n), 16001, false) FROM generate_series(1, 16001) n; diff --git a/test/sql/sparsevec_input.sql b/test/sql/sparsevec_input.sql index e7ad07d..9414925 100644 --- a/test/sql/sparsevec_input.sql +++ b/test/sql/sparsevec_input.sql @@ -1,8 +1,5 @@ SELECT '{1:1.5,3:3.5}/5'::sparsevec; SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector; -SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(5); -SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(4); -SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; SELECT ''::sparsevec; SELECT '{'::sparsevec; @@ -28,3 +25,5 @@ SELECT '{0:1}/1'::sparsevec; SELECT '{2:1}/1'::sparsevec; SELECT '{}/1'::sparsevec(2); +SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(5); +SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(4);