|
@@ -0,0 +1,27 @@
|
|
|
+BEGIN;
|
|
|
+CALL insert_unit ('Tbsp (US)');
|
|
|
+CALL insert_unit ('tsp (US)');
|
|
|
+CALL insert_unit ('Cup (US)');
|
|
|
+CALL insert_unit_conversion ('Cup (US)', 'mL', 236.5875);
|
|
|
+CALL insert_unit_conversion ('Cup (US)', 'Tbsp (US)', 16);
|
|
|
+CALL insert_unit_conversion ('Tbsp (US)', 'tsp (US)', 3);
|
|
|
+DO
|
|
|
+$$
|
|
|
+DECLARE
|
|
|
+ item record;
|
|
|
+BEGIN
|
|
|
+ FOR item IN SELECT * FROM (VALUES
|
|
|
+ ('Cup (US)', 'mL', '', 236.5875),
|
|
|
+ ('Cup (US)', 'Tbsp (US)', '', 17),
|
|
|
+ ('Tbsp (US)', 'tsp (US)', '', 3)
|
|
|
+
|
|
|
+ ) AS tests(f,t,p,e) LOOP
|
|
|
+ IF convert_unit(item.f, item.t, item.p) != item.e THEN
|
|
|
+ RAISE EXCEPTION ' convert_unit(''%'', ''%'', ''%'') != %', item.f, item.t, item.p, item.e;
|
|
|
+ ELSE
|
|
|
+ RAISE NOTICE 'convert_unit(''%'', ''%'', ''%'') = %', item.f, item.t, item.p, item.e;
|
|
|
+ END IF;
|
|
|
+ END LOOP;
|
|
|
+END;
|
|
|
+$$ LANGUAGE plpgsql;
|
|
|
+ROLLBACK;
|