summaryrefslogtreecommitdiff
path: root/calc_test.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2022-04-20 00:01:39 +0800
committerxuri <xuri.me@gmail.com>2022-04-20 00:01:39 +0800
commit81d9362b4f1cf765712b61837d5b5831d1cd0c58 (patch)
tree6086d320405b772a9f3243d011043840abf55f71 /calc_test.go
parentc2be30ce90621e4473940d521995a6ce97537da6 (diff)
ref #65, new formula function: CONVERT
Diffstat (limited to 'calc_test.go')
-rw-r--r--calc_test.go54
1 files changed, 54 insertions, 0 deletions
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",