1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\MathTrig; |
4
|
|
|
|
5
|
|
|
use PhpOffice\PhpSpreadsheet\Calculation\Functions; |
6
|
|
|
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig; |
7
|
|
|
use PHPUnit\Framework\TestCase; |
8
|
|
|
|
9
|
|
|
// Sanity tests for functions which have been moved out of MathTrig |
10
|
|
|
// to their own classes. A deprecated version remains in MathTrig; |
11
|
|
|
// this class contains cursory tests to ensure that those work properly. |
12
|
|
|
// If Scrutinizer fails the PR because of these deprecations, I will |
13
|
|
|
// remove this class from the PR. |
14
|
|
|
|
15
|
|
|
class MovedFunctionsTest extends TestCase |
16
|
|
|
{ |
17
|
|
|
public function testMovedFunctions(): void |
18
|
|
|
{ |
19
|
|
|
self::assertEqualsWithDelta(0, MathTrig::builtinACOS(1), 1E-9); |
20
|
|
|
self::assertEqualsWithDelta(0, MathTrig::builtinACOSH(1), 1E-9); |
21
|
|
|
self::assertEqualsWithDelta(3.04192400109863, MathTrig::ACOT(-10), 1E-9); |
22
|
|
|
self::assertEqualsWithDelta(-0.20273255405408, MathTrig::ACOTH(-5), 1E-9); |
23
|
|
|
self::assertEqualsWithDelta(0, MathTrig::builtinASIN(0), 1E-9); |
24
|
|
|
self::assertEqualsWithDelta(0, MathTrig::builtinASINH(0), 1E-9); |
25
|
|
|
self::assertEqualsWithDelta(0, MathTrig::builtinATAN(0), 1E-9); |
26
|
|
|
self::assertEqualsWithDelta(0, MathTrig::builtinATANH(0), 1E-9); |
27
|
|
|
self::assertEqualsWithDelta('#DIV/0!', MathTrig::ATAN2(0, 0), 1E-9); |
28
|
|
|
self::assertEquals('12', MathTrig::BASE(10, 8)); |
29
|
|
|
self::assertEquals(-6, MathTrig::CEILING(-4.5, -2)); |
30
|
|
|
self::assertEquals(1, MathTrig::builtinCOS(0)); |
31
|
|
|
self::assertEquals(1, MathTrig::builtinCOSH(0)); |
32
|
|
|
self::assertEquals('#DIV/0!', MathTrig::COT(0)); |
33
|
|
|
self::assertEquals('#DIV/0!', MathTrig::COTH(0)); |
34
|
|
|
self::assertEquals('#DIV/0!', MathTrig::CSC(0)); |
35
|
|
|
self::assertEquals('#DIV/0!', MathTrig::CSCH(0)); |
36
|
|
|
self::assertEquals(6, MathTrig::EVEN(4.5)); |
37
|
|
|
self::assertEquals(6, MathTrig::FACT(3)); |
38
|
|
|
self::assertEquals(-6, MathTrig::FLOOR(-4.5, 2)); |
39
|
|
|
self::assertEquals(0.23, MathTrig::FLOORMATH(0.234, 0.01)); |
40
|
|
|
self::assertEquals(-4, MathTrig::FLOORPRECISE(-2.5, 2)); |
41
|
|
|
self::assertEquals(-9, MathTrig::INT(-8.3)); |
42
|
|
|
self::assertEquals(12, MathTrig::LCM(4, 6)); |
43
|
|
|
self::assertEquals(1, MathTrig::MDETERM([1])); |
44
|
|
|
self::assertEquals( |
45
|
|
|
[[2, 2], [2, 1]], |
46
|
|
|
MathTrig::MINVERSE([[-0.5, 1.0], [1.0, -1.0]]) |
47
|
|
|
); |
48
|
|
|
self::assertEquals( |
49
|
|
|
[[23], [53]], |
50
|
|
|
MathTrig::MMULT([[1, 2], [3, 4]], [[7], [8]]) |
51
|
|
|
); |
52
|
|
|
self::assertEquals(6, MathTrig::MROUND(7.3, 3)); |
53
|
|
|
self::assertEquals(1, MathTrig::MULTINOMIAL(1)); |
54
|
|
|
self::assertEquals(5, MathTrig::ODD(4.5)); |
55
|
|
|
self::assertEquals(8, MathTrig::PRODUCT(1, 2, 4)); |
56
|
|
|
self::assertEquals(8, MathTrig::QUOTIENT(17, 2)); |
57
|
|
|
self::assertEquals('I', MathTrig::ROMAN(1)); |
58
|
|
|
self::assertEquals(3.3, MathTrig::builtinROUND(3.27, 1)); |
59
|
|
|
self::assertEquals(662, MathTrig::ROUNDDOWN(662.79, 0)); |
60
|
|
|
self::assertEquals(663, MathTrig::ROUNDUP(662.79, 0)); |
61
|
|
|
self::assertEquals(1, MathTrig::SEC(0)); |
62
|
|
|
self::assertEquals(1, MathTrig::SECH(0)); |
63
|
|
|
self::assertEquals(3780, MathTrig::SERIESSUM(5, 1, 1, [1, 1, 0, 1, 1])); |
64
|
|
|
self::assertEquals(1, MathTrig::SIGN(79.2)); |
65
|
|
|
self::assertEquals(0, MathTrig::builtinSIN(0)); |
66
|
|
|
self::assertEquals(0, MathTrig::builtinSINH(0)); |
67
|
|
|
self::assertEquals(0, MathTrig::SUBTOTAL(2, [0, 0])); |
68
|
|
|
self::assertEquals(7, MathTrig::SUM(1, 2, 4)); |
69
|
|
|
self::assertEquals(4, MathTrig::SUMIF([[2], [4]], '>2')); |
70
|
|
|
self::assertEquals(17, MathTrig::SUMPRODUCT([1, 2, 3], [5, 0, 4])); |
71
|
|
|
self::assertEquals(0, MathTrig::builtinTAN(0)); |
72
|
|
|
self::assertEquals(0, MathTrig::builtinTANH(0)); |
73
|
|
|
self::assertEquals(70, MathTrig::TRUNC(79.2, -1)); |
74
|
|
|
self::assertEquals(1, MathTrig::returnSign(79.2)); |
75
|
|
|
self::assertEquals(80, MathTrig::getEven(79.2)); |
76
|
|
|
$nullVal = null; |
77
|
|
|
MathTrig::nullFalseTrueToNumber($nullVal); |
78
|
|
|
self::assertSame(0, $nullVal); |
79
|
|
|
$nullVal = true; |
80
|
|
|
MathTrig::nullFalseTrueToNumber($nullVal); |
81
|
|
|
self::assertSame(1, $nullVal); |
82
|
|
|
} |
83
|
|
|
} |
84
|
|
|
|