public function testSortColumns() { $columnBag = with(new \mechanicious\Columnizer\Columnizer($this->mockData))->columnizeRowArray(); $tableman = new \mechanicious\Tableman\Tableman($columnBag); $tableman->sortColumns(function ($current, $previous) { if (strpos($current, 'a') !== false && strpos($previous, 'a') !== false) { return 0; } // Such that a is inferior return strpos($current, 'a') !== false && strpos($previous, 'a') === false ? 1 : -1; }); $this->assertEquals($tableman->getColumnHeaders(), array('hobby', 'age', 'name', 'id')); }