You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.3 KiB

4 years ago
<?php
class ReferenceHelperTest extends PHPUnit_Framework_TestCase
{
public function setUp()
{
if (!defined('PHPEXCEL_ROOT')) {
define('PHPEXCEL_ROOT', APPLICATION_PATH . '/');
}
require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
}
public function testColumnSort()
{
$columnBase = $columnExpectedResult = array(
'A','B','Z',
'AA','AB','AZ',
'BA','BB','BZ',
'ZA','ZB','ZZ',
'AAA','AAB','AAZ',
'ABA','ABB','ABZ',
'AZA','AZB','AZZ',
'BAA','BAB','BAZ',
'BBA','BBB','BBZ',
'BZA','BZB','BZZ'
);
shuffle($columnBase);
usort($columnBase, array('PHPExcel_ReferenceHelper','columnSort'));
foreach($columnBase as $key => $value) {
$this->assertEquals($columnExpectedResult[$key], $value);
}
}
public function testColumnReverseSort()
{
$columnBase = $columnExpectedResult = array(
'A','B','Z',
'AA','AB','AZ',
'BA','BB','BZ',
'ZA','ZB','ZZ',
'AAA','AAB','AAZ',
'ABA','ABB','ABZ',
'AZA','AZB','AZZ',
'BAA','BAB','BAZ',
'BBA','BBB','BBZ',
'BZA','BZB','BZZ'
);
shuffle($columnBase);
$columnExpectedResult = array_reverse($columnExpectedResult);
usort($columnBase, array('PHPExcel_ReferenceHelper','columnReverseSort'));
foreach($columnBase as $key => $value) {
$this->assertEquals($columnExpectedResult[$key], $value);
}
}
}