From 81d9362b4f1cf765712b61837d5b5831d1cd0c58 Mon Sep 17 00:00:00 2001 From: xuri Date: Wed, 20 Apr 2022 00:01:39 +0800 Subject: ref #65, new formula function: CONVERT --- calc_test.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'calc_test.go') diff --git a/calc_test.go b/calc_test.go index c091747..6d83362 100644 --- a/calc_test.go +++ b/calc_test.go @@ -120,6 +120,45 @@ func TestCalcCellValue(t *testing.T) { "=COMPLEX(0,-2)": "-2i", "=COMPLEX(0,0)": "0", "=COMPLEX(0,-1,\"j\")": "-j", + // CONVERT + "=CONVERT(20.2,\"m\",\"yd\")": "22.0909886264217", + "=CONVERT(20.2,\"cm\",\"yd\")": "0.220909886264217", + "=CONVERT(0.2,\"gal\",\"tsp\")": "153.6", + "=CONVERT(5,\"gal\",\"l\")": "18.92705892", + "=CONVERT(0.02,\"Gm\",\"m\")": "20000000", + "=CONVERT(0,\"C\",\"F\")": "32", + "=CONVERT(1,\"ly^2\",\"ly^2\")": "1", + "=CONVERT(0.00194255938572296,\"sg\",\"ozm\")": "1", + "=CONVERT(5,\"kg\",\"kg\")": "5", + "=CONVERT(4.5359237E-01,\"kg\",\"lbm\")": "1", + "=CONVERT(0.2,\"kg\",\"hg\")": "2", + "=CONVERT(12.345000000000001,\"km\",\"m\")": "12345", + "=CONVERT(12345,\"m\",\"km\")": "12.345", + "=CONVERT(0.621371192237334,\"mi\",\"km\")": "1", + "=CONVERT(1.23450000000000E+05,\"ang\",\"um\")": "12.345", + "=CONVERT(1.23450000000000E+02,\"kang\",\"um\")": "12.345", + "=CONVERT(1000,\"dal\",\"hl\")": "100", + "=CONVERT(1,\"yd\",\"ft\")": "2.99999999999999", + "=CONVERT(20,\"C\",\"F\")": "68", + "=CONVERT(68,\"F\",\"C\")": "20", + "=CONVERT(293.15,\"K\",\"F\")": "68", + "=CONVERT(68,\"F\",\"K\")": "293.15", + "=CONVERT(-273.15,\"C\",\"K\")": "0", + "=CONVERT(-459.67,\"F\",\"K\")": "0", + "=CONVERT(295.65,\"K\",\"C\")": "22.5", + "=CONVERT(22.5,\"C\",\"K\")": "295.65", + "=CONVERT(1667.85,\"C\",\"K\")": "1941", + "=CONVERT(3034.13,\"F\",\"K\")": "1941", + "=CONVERT(3493.8,\"Rank\",\"K\")": "1941", + "=CONVERT(1334.28,\"Reau\",\"K\")": "1941", + "=CONVERT(1941,\"K\",\"Rank\")": "3493.8", + "=CONVERT(1941,\"K\",\"Reau\")": "1334.28", + "=CONVERT(123.45,\"K\",\"kel\")": "123.45", + "=CONVERT(123.45,\"C\",\"cel\")": "123.45", + "=CONVERT(123.45,\"F\",\"fah\")": "123.45", + "=CONVERT(16,\"bit\",\"byte\")": "2", + "=CONVERT(1,\"kbyte\",\"byte\")": "1000", + "=CONVERT(1,\"kibyte\",\"byte\")": "1024", // DEC2BIN "=DEC2BIN(2)": "10", "=DEC2BIN(3)": "11", @@ -2014,6 +2053,21 @@ func TestCalcCellValue(t *testing.T) { "=COMPLEX(\"\",0)": "strconv.ParseFloat: parsing \"\": invalid syntax", "=COMPLEX(0,\"\")": "strconv.ParseFloat: parsing \"\": invalid syntax", "=COMPLEX(10,-5,\"i\",0)": "COMPLEX allows at most 3 arguments", + // CONVERT + "=CONVERT()": "CONVERT requires 3 arguments", + "=CONVERT(\"\",\"m\",\"yd\")": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=CONVERT(20.2,\"m\",\"C\")": "#N/A", + "=CONVERT(20.2,\"\",\"C\")": "#N/A", + "=CONVERT(100,\"dapt\",\"pt\")": "#N/A", + "=CONVERT(1,\"ft\",\"day\")": "#N/A", + "=CONVERT(234.56,\"kpt\",\"lt\")": "#N/A", + "=CONVERT(234.56,\"lt\",\"kpt\")": "#N/A", + "=CONVERT(234.56,\"kiqt\",\"pt\")": "#N/A", + "=CONVERT(234.56,\"pt\",\"kiqt\")": "#N/A", + "=CONVERT(12345.6,\"baton\",\"cwt\")": "#N/A", + "=CONVERT(12345.6,\"cwt\",\"baton\")": "#N/A", + "=CONVERT(234.56,\"xxxx\",\"m\")": "#N/A", + "=CONVERT(234.56,\"m\",\"xxxx\")": "#N/A", // DEC2BIN "=DEC2BIN()": "DEC2BIN requires at least 1 argument", "=DEC2BIN(1,1,1)": "DEC2BIN allows at most 2 arguments", -- cgit v1.2.1