diff options
author | xuri <xuri.me@gmail.com> | 2022-03-29 00:03:58 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2022-03-29 00:03:58 +0800 |
commit | 0030e800ca1e151483db96172034122c86ce97fc (patch) | |
tree | ff9522dfec208a7f4ff54e6e9e15a4e93b7274aa /calc_test.go | |
parent | 46336bc788ce344533524a29bc9858d183f91aeb (diff) |
ref #65, new formula functions: F.TEST and FTEST
Diffstat (limited to 'calc_test.go')
-rw-r--r-- | calc_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/calc_test.go b/calc_test.go index 306e24d..fb91e2e 100644 --- a/calc_test.go +++ b/calc_test.go @@ -4292,6 +4292,51 @@ func TestCalcCHITESTandCHISQdotTEST(t *testing.T) { } } +func TestCalcFTEST(t *testing.T) { + cellData := [][]interface{}{ + {"Group 1", "Group 2"}, + {3.5, 9.2}, + {4.7, 8.2}, + {6.2, 7.3}, + {4.9, 6.1}, + {3.8, 5.4}, + {5.5, 7.8}, + {7.1, 5.9}, + {6.7, 8.4}, + {3.9, 7.7}, + {4.6, 6.6}, + } + f := prepareCalcData(cellData) + formulaList := map[string]string{ + "=FTEST(A2:A11,B2:B11)": "0.95403555939413", + "=F.TEST(A2:A11,B2:B11)": "0.95403555939413", + } + for formula, expected := range formulaList { + assert.NoError(t, f.SetCellFormula("Sheet1", "C1", formula)) + result, err := f.CalcCellValue("Sheet1", "C1") + assert.NoError(t, err, formula) + assert.Equal(t, expected, result, formula) + } + calcError := map[string]string{ + "=FTEST()": "FTEST requires 2 arguments", + "=FTEST(A2:A2,B2:B2)": "#DIV/0!", + "=FTEST(A12:A14,B2:B4)": "#DIV/0!", + "=FTEST(A2:A4,B2:B2)": "#DIV/0!", + "=FTEST(A2:A4,B12:B14)": "#DIV/0!", + "=F.TEST()": "F.TEST requires 2 arguments", + "=F.TEST(A2:A2,B2:B2)": "#DIV/0!", + "=F.TEST(A12:A14,B2:B4)": "#DIV/0!", + "=F.TEST(A2:A4,B2:B2)": "#DIV/0!", + "=F.TEST(A2:A4,B12:B14)": "#DIV/0!", + } + for formula, expected := range calcError { + assert.NoError(t, f.SetCellFormula("Sheet1", "C1", formula)) + result, err := f.CalcCellValue("Sheet1", "C1") + assert.EqualError(t, err, expected, formula) + assert.Equal(t, "", result, formula) + } +} + func TestCalcIRR(t *testing.T) { cellData := [][]interface{}{{-1}, {0.2}, {0.24}, {0.288}, {0.3456}, {0.4147}} f := prepareCalcData(cellData) |