Passed
Push — master ( c380b2...9239b3 )
by Adrien
10:06
created

MovedFunctionsTest::testMovedFunctions()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 65
Code Lines 60

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 60
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 65
rs 8.8727

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

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