<?php

declare(strict_types=1);

return [
    'cell range absolute' => [600, '$A$1:$A$3'],
    'cell range on different sheet' => [30, 'OtherSheet!A1:A2'],
    'cell range on different sheet absolute' => [60, 'OtherSheet!$A$1:$A$3'],
    'cell range relative' => [500, 'A2:A3'],
    'global name qualified with correct sheet' => [90, 'OtherSheet!newnr'],
    'global name qualified with incorrect sheet' => [90, 'ThisSheet!newnr'],
    'global name qualified with non-existent sheet' => ['#REF!', 'UnknownSheet!newnr'],
    'invalid address' => ['#REF!', 'InvalidCellAddress'],
    'invalid address as first part of range' => ['#REF!', 'Invalid:A2'],
    'invalid address as second part of range' => ['#REF!', 'A2:Invalid'],
    'local name out of scope' => ['#REF!', 'localname'],
    'named range' => [90, 'newnr'],
    'named range a1 arg ignored' => [90, 'newnr', false],
    'named range case-insensitive' => [90, 'newNr'],
    'null address' => ['#REF!', null],
    'omit a1 argument' => [900, 'A2:A4'],
    'qualified name correct sheet even out of scope' => [9, 'OtherSheet!localname'],
    'qualified name incorrect sheet' => ['#REF!', 'ThisSheet!localname'],
    'qualified name non-existent sheet' => ['#REF!', 'OtherSheetx!localname'],
    'r1c1 cell on different sheet' => [40, 'OtherSheet!R4C1', false],
    'r1c1 format a1 as string not permitted' => ['#VALUE!', 'R2C1', '0'],
    'r1c1 format a1 is bool' => [200, 'R2C1', false],
    'r1c1 format a1 is int' => [200, 'R2C1', 0],
    'r1c1 range' => [600, 'R1C1:R3C1', false],
    'r1c1 range on different sheet' => [90, 'OtherSheet!R4C1:R5C1', false],
    'single cell absolute' => [200, '$A$2'],
    'single cell relative' => [100, 'A1'],
    'single cell on different sheet absolute' => [30, 'OtherSheet!$A$3'],
    'single cell on different sheet relative' => [10, 'OtherSheet!A1'],
    'supply a1 argument as bool' => [900, 'A2:A4', true],
    'supply a1 argument as int' => [900, 'A2:A4', 1],
    'supply a1 argument as float' => [900, 'A2:A4', 7.3],
    'supply a1 argument as string not permitted' => ['#VALUE!', 'A2:A4', '1'],
    'row range' => [600, '1:3'],
    'column range' => [1500, 'A:C'],
    'row range on different sheet' => [66, 'OtherSheet!1:3'],
    'column range on different sheet' => [165, 'OtherSheet!A:C'],
];
