From 9561976074eb3f8260845735bf6028a5d5f3bd71 Mon Sep 17 00:00:00 2001 From: xuri Date: Mon, 22 Nov 2021 00:39:39 +0800 Subject: ref #65: new formula function VDB --- calc_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'calc_test.go') diff --git a/calc_test.go b/calc_test.go index 77c6e30..c9896c7 100644 --- a/calc_test.go +++ b/calc_test.go @@ -1537,6 +1537,17 @@ func TestCalcCellValue(t *testing.T) { "=TBILLPRICE(\"02/01/2017\",\"06/30/2017\",2.75%)": "98.86180555555556", // TBILLYIELD "=TBILLYIELD(\"02/01/2017\",\"06/30/2017\",99)": "0.024405125076266", + // VDB + "=VDB(10000,1000,5,0,1)": "4000", + "=VDB(10000,1000,5,1,3)": "3840", + "=VDB(10000,1000,5,3,5)": "1160", + "=VDB(10000,1000,5,3,5,0.2,FALSE)": "3600", + "=VDB(10000,1000,5,3,5,0.2,TRUE)": "693.633024", + "=VDB(24000,3000,10,0,0.875,2)": "4200", + "=VDB(24000,3000,10,0.1,1)": "4233.599999999999", + "=VDB(24000,3000,10,0.1,1,1)": "2138.3999999999996", + "=VDB(24000,3000,100,50,100,1)": "10377.294418465235", + "=VDB(24000,3000,100,50,100,2)": "5740.072322090805", // YIELDDISC "=YIELDDISC(\"01/01/2017\",\"06/30/2017\",97,100)": "0.0622012325059031", "=YIELDDISC(\"01/01/2017\",\"06/30/2017\",97,100,0)": "0.0622012325059031", @@ -3075,6 +3086,22 @@ func TestCalcCellValue(t *testing.T) { "=TBILLYIELD(\"01/01/2017\",\"06/30/2017\",0)": "#NUM!", "=TBILLYIELD(\"01/01/2017\",\"06/30/2018\",2.5%)": "#NUM!", "=TBILLYIELD(\"06/30/2017\",\"01/01/2017\",2.5%)": "#NUM!", + // VDB + "=VDB()": "VDB requires 5 or 7 arguments", + "=VDB(-1,1000,5,0,1)": "VDB requires cost >= 0", + "=VDB(10000,-1,5,0,1)": "VDB requires salvage >= 0", + "=VDB(10000,1000,0,0,1)": "VDB requires life > 0", + "=VDB(10000,1000,5,-1,1)": "VDB requires start_period > 0", + "=VDB(10000,1000,5,2,1)": "VDB requires start_period <= end_period", + "=VDB(10000,1000,5,0,6)": "VDB requires end_period <= life", + "=VDB(10000,1000,5,0,1,-0.2)": "VDB requires factor >= 0", + "=VDB(\"\",1000,5,0,1)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=VDB(10000,\"\",5,0,1)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=VDB(10000,1000,\"\",0,1)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=VDB(10000,1000,5,\"\",1)": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=VDB(10000,1000,5,0,\"\")": "strconv.ParseFloat: parsing \"\": invalid syntax", + "=VDB(10000,1000,5,0,1,\"\")": "#NUM!", + "=VDB(10000,1000,5,0,1,0.2,\"\")": "#NUM!", // YIELDDISC "=YIELDDISC()": "YIELDDISC requires 4 or 5 arguments", "=YIELDDISC(\"\",\"06/30/2017\",97,100,0)": "#VALUE!", -- cgit v1.2.1