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); }