Passed
Pull Request — master (#4360)
by Owen
14:10
created

DefinedNamesTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 44
c 1
b 0
f 0
dl 0
loc 64
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testDefinedNamesValue() 0 19 1
A testDefinedNamesApostropheValue() 0 20 1
A testDefinedNamesArray() 0 19 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Reader\Ods;
6
7
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
8
use PhpOffice\PhpSpreadsheet\Reader\Ods;
9
use PHPUnit\Framework\TestCase;
10
11
class DefinedNamesTest extends TestCase
12
{
13
    public function testDefinedNamesValue(): void
14
    {
15
        $filename = 'tests/data/Reader/Ods/DefinedNames.ods';
16
        $reader = new Ods();
17
        $spreadsheet = $reader->load($filename);
18
        $calculation = Calculation::getInstance($spreadsheet);
19
        $calculation->setInstanceArrayReturnType(
20
            Calculation::RETURN_ARRAY_AS_VALUE
21
        );
22
        $worksheet = $spreadsheet->getActiveSheet();
23
24
        $firstDefinedNameValue = $worksheet->getCell('First')->getValue();
25
        $secondDefinedNameValue = $worksheet->getCell('Second')->getValue();
26
        $calculatedFormulaValue = $worksheet->getCell('B2')->getCalculatedValue();
27
28
        self::assertSame(3, $firstDefinedNameValue);
29
        self::assertSame(4, $secondDefinedNameValue);
30
        self::assertSame(12, $calculatedFormulaValue);
31
        $spreadsheet->disconnectWorksheets();
32
    }
33
34
    public function testDefinedNamesApostropheValue(): void
35
    {
36
        $filename = 'tests/data/Reader/Ods/DefinedNames.apostrophe.ods';
37
        $reader = new Ods();
38
        $spreadsheet = $reader->load($filename);
39
        $calculation = Calculation::getInstance($spreadsheet);
40
        $calculation->setInstanceArrayReturnType(
41
            Calculation::RETURN_ARRAY_AS_VALUE
42
        );
43
        $worksheet = $spreadsheet->getActiveSheet();
44
        self::assertSame("apo'strophe", $worksheet->getTitle());
45
46
        $firstDefinedNameValue = $worksheet->getCell('First')->getValue();
47
        $secondDefinedNameValue = $worksheet->getCell('Second')->getValue();
48
        $calculatedFormulaValue = $worksheet->getCell('B2')->getCalculatedValue();
49
50
        self::assertSame(3, $firstDefinedNameValue);
51
        self::assertSame(4, $secondDefinedNameValue);
52
        self::assertSame(12, $calculatedFormulaValue);
53
        $spreadsheet->disconnectWorksheets();
54
    }
55
56
    public function testDefinedNamesArray(): void
57
    {
58
        $filename = 'tests/data/Reader/Ods/DefinedNames.ods';
59
        $reader = new Ods();
60
        $spreadsheet = $reader->load($filename);
61
        $calculation = Calculation::getInstance($spreadsheet);
62
        $calculation->setInstanceArrayReturnType(
63
            Calculation::RETURN_ARRAY_AS_ARRAY
64
        );
65
        $worksheet = $spreadsheet->getActiveSheet();
66
67
        $firstDefinedNameValue = $worksheet->getCell('First')->getValue();
68
        $secondDefinedNameValue = $worksheet->getCell('Second')->getValue();
69
        $calculatedFormulaValue = $worksheet->getCell('B2')->getCalculatedValue();
70
71
        self::assertSame(3, $firstDefinedNameValue);
72
        self::assertSame(4, $secondDefinedNameValue);
73
        self::assertSame([12], $calculatedFormulaValue);
74
        $spreadsheet->disconnectWorksheets();
75
    }
76
}
77