From 29d63f6ae0a3411be7e9799c80e6be41997c4f14 Mon Sep 17 00:00:00 2001 From: xuri Date: Wed, 30 Mar 2022 00:01:38 +0800 Subject: ref #65, new formula functions: HYPGEOM.DIST and HYPGEOMDIST --- calc_test.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'calc_test.go') diff --git a/calc_test.go b/calc_test.go index fb91e2e..30db8cf 100644 --- a/calc_test.go +++ b/calc_test.go @@ -945,6 +945,20 @@ func TestCalcCellValue(t *testing.T) { // HARMEAN "=HARMEAN(2.5,3,0.5,1,3)": "1.22950819672131", "=HARMEAN(\"2.5\",3,0.5,1,INT(3),\"\")": "1.22950819672131", + // HYPGEOM.DIST + "=HYPGEOM.DIST(0,3,3,9,TRUE)": "0.238095238095238", + "=HYPGEOM.DIST(1,3,3,9,TRUE)": "0.773809523809524", + "=HYPGEOM.DIST(2,3,3,9,TRUE)": "0.988095238095238", + "=HYPGEOM.DIST(3,3,3,9,TRUE)": "1", + "=HYPGEOM.DIST(1,4,4,12,FALSE)": "0.452525252525253", + "=HYPGEOM.DIST(2,4,4,12,FALSE)": "0.339393939393939", + "=HYPGEOM.DIST(3,4,4,12,FALSE)": "0.0646464646464646", + "=HYPGEOM.DIST(4,4,4,12,FALSE)": "0.00202020202020202", + // HYPGEOMDIST + "=HYPGEOMDIST(1,4,4,12)": "0.452525252525253", + "=HYPGEOMDIST(2,4,4,12)": "0.339393939393939", + "=HYPGEOMDIST(3,4,4,12)": "0.0646464646464646", + "=HYPGEOMDIST(4,4,4,12)": "0.00202020202020202", // KURT "=KURT(F1:F9)": "-1.03350350255137", "=KURT(F1,F2:F9)": "-1.03350350255137", @@ -2652,6 +2666,7 @@ func TestCalcCellValue(t *testing.T) { // GAMMALN.PRECISE "=GAMMALN.PRECISE()": "GAMMALN.PRECISE requires 1 numeric argument", "=GAMMALN.PRECISE(\"\")": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=GAMMALN.PRECISE(0)": "#NUM!", // GAUSS "=GAUSS()": "GAUSS requires 1 numeric argument", "=GAUSS(\"\")": "strconv.ParseFloat: parsing \"\": invalid syntax", @@ -2663,6 +2678,35 @@ func TestCalcCellValue(t *testing.T) { "=HARMEAN()": "HARMEAN requires at least 1 argument", "=HARMEAN(-1)": "#N/A", "=HARMEAN(0)": "#N/A", + // HYPGEOM.DIST + "=HYPGEOM.DIST()": "HYPGEOM.DIST requires 5 arguments", + "=HYPGEOM.DIST(\"\",4,4,12,FALSE)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOM.DIST(1,\"\",4,12,FALSE)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOM.DIST(1,4,\"\",12,FALSE)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOM.DIST(1,4,4,\"\",FALSE)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOM.DIST(1,4,4,12,\"\")": "strconv.ParseBool: parsing \"\": invalid syntax", + "=HYPGEOM.DIST(-1,4,4,12,FALSE)": "#NUM!", + "=HYPGEOM.DIST(2,1,4,12,FALSE)": "#NUM!", + "=HYPGEOM.DIST(2,4,1,12,FALSE)": "#NUM!", + "=HYPGEOM.DIST(2,2,2,1,FALSE)": "#NUM!", + "=HYPGEOM.DIST(1,0,4,12,FALSE)": "#NUM!", + "=HYPGEOM.DIST(1,4,4,2,FALSE)": "#NUM!", + "=HYPGEOM.DIST(1,4,0,12,FALSE)": "#NUM!", + "=HYPGEOM.DIST(1,4,4,0,FALSE)": "#NUM!", + // HYPGEOMDIST + "=HYPGEOMDIST()": "HYPGEOMDIST requires 4 numeric arguments", + "=HYPGEOMDIST(\"\",4,4,12)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOMDIST(1,\"\",4,12)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOMDIST(1,4,\"\",12)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOMDIST(1,4,4,\"\")": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=HYPGEOMDIST(-1,4,4,12)": "#NUM!", + "=HYPGEOMDIST(2,1,4,12)": "#NUM!", + "=HYPGEOMDIST(2,4,1,12)": "#NUM!", + "=HYPGEOMDIST(2,2,2,1)": "#NUM!", + "=HYPGEOMDIST(1,0,4,12)": "#NUM!", + "=HYPGEOMDIST(1,4,4,2)": "#NUM!", + "=HYPGEOMDIST(1,4,0,12)": "#NUM!", + "=HYPGEOMDIST(1,4,4,0)": "#NUM!", // KURT "=KURT()": "KURT requires at least 1 argument", "=KURT(F1,INT(1))": "#DIV/0!", -- cgit v1.2.1