Passed
Pull Request — master (#4240)
by Owen
13:49
created

DataValidator3Test::testArrayFunctionAsList()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 18
c 1
b 0
f 0
dl 0
loc 23
rs 9.6666
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Cell;
6
7
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
8
use PhpOffice\PhpSpreadsheet\Cell\DataValidation;
9
use PhpOffice\PhpSpreadsheet\Spreadsheet;
10
use PHPUnit\Framework\TestCase;
11
12
class DataValidator3Test extends TestCase
13
{
14
    public function testArrayFunctionAsList(): void
15
    {
16
        $spreadsheet = new Spreadsheet();
17
        $sheet = $spreadsheet->getActiveSheet();
18
        $sheet->getCell('A1')->setValue(1);
19
        $sheet->getCell('A2')->setValue(3);
20
        $sheet->getCell('A3')->setValue(5);
21
        $sheet->getCell('A4')->setValue(7);
22
        Calculation::getInstance($spreadsheet)
23
            ->setInstanceArrayReturnType(
24
                Calculation::RETURN_ARRAY_AS_ARRAY
25
            );
26
27
        $sheet->getCell('G1')->setValue('=UNIQUE(A1:A4)');
28
        $validation = $sheet->getCell('H4')->getDataValidation();
29
        $validation->setType(DataValidation::TYPE_LIST)
30
            ->setFormula1('ANCHORARRAY(G1)');
31
        $sheet->getCell('H4')->setValue(2);
32
        self::assertFalse($sheet->getCell('H4')->hasValidValue());
33
        $sheet->getCell('H4')->setValue(3);
34
        self::assertTrue($sheet->getCell('H4')->hasValidValue());
35
36
        $spreadsheet->disconnectWorksheets();
37
    }
38
}
39