Files
PhpSpreadsheet/tests/data/Calculation/Financial/DDB.php
Mark Baker 5ad5f787ab Financial functions next stage of refactoring (#1943)
* First steps splitting out the Amortization and Deprecation Excel functions from Financials
* Verify which methods allow negative values for arguments
* Additional unit tests for SLN() and SYD()
* Additional unit tests for DDB()
* Additional unit tests for DB()
* Verify Amortization cases where salvage is greater than cost
* More unit tests for Amortization
* Resolve broken test in AMORLINC() and extract amortizationCoefficient calculation
* verify amortizationCoefficient calculation
* Extract YIELDDISC() and YIELDMAT() to Financial\Securities
* Additional validation for Securities Yield functions
2021-03-21 21:40:49 +01:00

229 lines
2.8 KiB
PHP

<?php
// cost, salvage, life, period, month, result
return [
[
0.13150684931507001,
2400,
300,
36500,
1,
],
[
0.13149964346031001,
2400,
300,
36500,
2,
],
[
0.13146362010870999,
2400,
300,
36500,
7,
],
[
0.91843145432707995,
2400,
300,
36500,
7,
14,
],
[
40.0,
2400,
300,
120,
1,
2,
],
[
480.0,
2400,
300,
10,
1,
2,
],
[
306.0,
2400,
300,
10,
2,
1.5,
],
[
22.122547200000302,
2400,
300,
10,
10,
],
[
4000.0,
10000,
1000,
5,
1,
],
[
2400.0,
10000,
1000,
5,
2,
],
[
1440.0,
10000,
1000,
5,
3,
],
[
864.0,
10000,
1000,
5,
4,
],
[
296.0,
10000,
1000,
5,
5,
],
[
972.0,
12000,
1000,
5,
3,
0.5,
],
[
1259.4752186588921,
12000,
1000,
3.5,
3,
0.5,
],
[
1080.00,
12000,
1000,
5,
2,
0.5,
],
[
0.0,
12000,
15000,
5,
2,
0.5,
],
// Code does not yet handle fractional period values for DDB, only integer
// [
// 1024.58,
// 12000,
// 1000,
// 5,
// 2.5,
// 0.5,
// ],
[
'#NUM!',
-2400,
300,
36500,
1,
],
[
'#VALUE!',
'ABC',
300,
36500,
1,
],
[
'#VALUE!',
12000,
'INVALID',
5,
3,
0.5,
],
[
'#VALUE!',
12000,
1000,
'INVALID',
3,
0.5,
],
[
'#VALUE!',
12000,
1000,
5,
'INVALID',
0.5,
],
[
'#VALUE!',
12000,
1000,
5,
3,
'INVALID',
],
[
'#NUM!',
12000,
-1000,
5,
3,
0.5,
],
[
'#NUM!',
12000,
1000,
5,
-3,
0.5,
],
[
'#NUM!',
12000,
1000,
5,
3,
-0.5,
],
[
'#NUM!',
12000,
1000,
5,
0,
0.5,
],
[
'#NUM!',
12000,
1000,
2,
3,
0.5,
],
];