Browse Source

add some more units and conversions

Daniel Sheffield 2 years ago
parent
commit
d15fb3dae1
1 changed files with 27 additions and 0 deletions
  1. 27 0
      units.sql

+ 27 - 0
units.sql

@@ -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;