From e14fdba8b3540da97cd791199f8fba07e53b88b7 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sat, 13 Apr 2024 16:00:14 -0700 Subject: [PATCH] Improved sparsevec input tests [skip ci] --- test/expected/sparsevec_input.out | 26 ++++++++++++++++++++++++-- test/sql/sparsevec_input.sql | 11 ++++++----- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/test/expected/sparsevec_input.out b/test/expected/sparsevec_input.out index 49ddf31..2e8db67 100644 --- a/test/expected/sparsevec_input.out +++ b/test/expected/sparsevec_input.out @@ -189,5 +189,27 @@ SELECT '{2:1}/1'::sparsevec; ERROR: index must be less than or equal to dimensions LINE 1: SELECT '{2:1}/1'::sparsevec; ^ -SELECT '{}/1'::sparsevec(2); -ERROR: expected 2 dimensions, not 1 +SELECT '{}/3'::sparsevec(3); + sparsevec +----------- + {}/3 +(1 row) + +SELECT '{}/3'::sparsevec(2); +ERROR: expected 2 dimensions, not 3 +SELECT '{}/3'::sparsevec(3, 2); +ERROR: invalid type modifier +LINE 1: SELECT '{}/3'::sparsevec(3, 2); + ^ +SELECT '{}/3'::sparsevec('a'); +ERROR: invalid input syntax for type integer: "a" +LINE 1: SELECT '{}/3'::sparsevec('a'); + ^ +SELECT '{}/3'::sparsevec(0); +ERROR: dimensions for type sparsevec must be at least 1 +LINE 1: SELECT '{}/3'::sparsevec(0); + ^ +SELECT '{}/3'::sparsevec(100001); +ERROR: dimensions for type sparsevec cannot exceed 100000 +LINE 1: SELECT '{}/3'::sparsevec(100001); + ^ diff --git a/test/sql/sparsevec_input.sql b/test/sql/sparsevec_input.sql index db90048..0c7dd6c 100644 --- a/test/sql/sparsevec_input.sql +++ b/test/sql/sparsevec_input.sql @@ -32,16 +32,17 @@ SELECT '{1:}/1'::sparsevec; SELECT '{1a:1}/1'::sparsevec; SELECT '{1:1a}/1'::sparsevec; SELECT '{1:1,}/1'::sparsevec; - SELECT '{1:0,2:1,3:0}/3'::sparsevec; - SELECT '{2:1,1:1}/2'::sparsevec; - SELECT '{}/5'::sparsevec; SELECT '{}/-1'::sparsevec; SELECT '{}/100001'::sparsevec; - SELECT '{0:1}/1'::sparsevec; SELECT '{2:1}/1'::sparsevec; -SELECT '{}/1'::sparsevec(2); +SELECT '{}/3'::sparsevec(3); +SELECT '{}/3'::sparsevec(2); +SELECT '{}/3'::sparsevec(3, 2); +SELECT '{}/3'::sparsevec('a'); +SELECT '{}/3'::sparsevec(0); +SELECT '{}/3'::sparsevec(100001);