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

DataValidator3Test   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 19
c 1
b 0
f 0
dl 0
loc 25
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A testArrayFunctionAsList() 0 23 1
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