public function testSort()
{
$a = array(array('Person' => array('name' => 'Jeff'), 'Friend' => array(array('name' => 'Nate'))), array('Person' => array('name' => 'Tracy'), 'Friend' => array(array('name' => 'Lindsay'))));
$b = array(array('Person' => array('name' => 'Tracy'), 'Friend' => array(array('name' => 'Lindsay'))), array('Person' => array('name' => 'Jeff'), 'Friend' => array(array('name' => 'Nate'))));
$a = Set::sort($a, '/Friend/name', 'asc');
$this->assertIdentical($a, $b);
$b = array(array('Person' => array('name' => 'Jeff'), 'Friend' => array(array('name' => 'Nate'))), array('Person' => array('name' => 'Tracy'), 'Friend' => array(array('name' => 'Lindsay'))));
$a = array(array('Person' => array('name' => 'Tracy'), 'Friend' => array(array('name' => 'Lindsay'))), array('Person' => array('name' => 'Jeff'), 'Friend' => array(array('name' => 'Nate'))));
$a = Set::sort($a, '/Friend/name', 'desc');
$this->assertIdentical($a, $b);
$a = array(array('Person' => array('name' => 'Jeff'), 'Friend' => array(array('name' => 'Nate'))), array('Person' => array('name' => 'Tracy'), 'Friend' => array(array('name' => 'Lindsay'))), array('Person' => array('name' => 'Adam'), 'Friend' => array(array('name' => 'Bob'))));
$b = array(array('Person' => array('name' => 'Adam'), 'Friend' => array(array('name' => 'Bob'))), array('Person' => array('name' => 'Jeff'), 'Friend' => array(array('name' => 'Nate'))), array('Person' => array('name' => 'Tracy'), 'Friend' => array(array('name' => 'Lindsay'))));
$a = Set::sort($a, '/Person/name', 'asc');
$this->assertIdentical($a, $b);
$a = array(array(7, 6, 4), array(3, 4, 5), array(3, 2, 1));
$b = array(array(3, 2, 1), array(3, 4, 5), array(7, 6, 4));
$a = Set::sort($a, '/', 'asc');
$this->assertIdentical($a, $b);
$a = array(array(7, 6, 4), array(3, 4, 5), array(3, 2, array(1, 1, 1)));
$b = array(array(3, 2, array(1, 1, 1)), array(3, 4, 5), array(7, 6, 4));
$a = Set::sort($a, '/.', 'asc');
$this->assertIdentical($a, $b);
$a = array(array('Person' => array('name' => 'Jeff')), array('Shirt' => array('color' => 'black')));
$b = array(array('Person' => array('name' => 'Jeff')));
$a = Set::sort($a, '/Person/name', 'asc');
$this->assertIdentical($a, $b);
}