public function testPermitObject()
 {
     Permit::$routes = array();
     Permit::$executed = null;
     $this->assertEqual(count(Permit::$routes), 0);
     Permit::access(array('controller' => array('permit_tests', 'tags'), 'action' => array('add', 'edit', 'delete')), array('auth' => array('group' => 'admin')), array('redirect' => array('controller' => 'users', 'action' => 'login')));
     $this->assertEqual(count(Permit::$routes), 1);
     Permit::access(array('controller' => 'permit_tests', 'action' => array('add', 'edit', 'delete')), array('auth' => array('group' => 'admin')), array('redirect' => array('controller' => 'users', 'action' => 'login')));
     $this->assertEqual(count(Permit::$routes), 2);
     Permit::access(array('controller' => 'users'), array('auth' => true), array('element' => 'auth_error', 'redirect' => array('controller' => 'users', 'action' => 'login')));
     $this->assertEqual(count(Permit::$routes), 3);
     $expected = array('route' => array('controller' => array('permit_tests', 'tags'), 'action' => array('add', 'edit', 'delete')), 'rules' => array('auth' => array('group' => 'admin')), 'redirect' => array('controller' => 'users', 'action' => 'login'), 'message' => __('Access denied', true), 'element' => 'default', 'params' => array(), 'key' => 'flash');
     $this->assertEqual(current(Permit::$routes), $expected);
     reset(Permit::$routes);
     $expected = array('route' => array('controller' => 'users'), 'rules' => array('auth' => true), 'redirect' => array('controller' => 'users', 'action' => 'login'), 'message' => __('Access denied', true), 'element' => 'auth_error', 'params' => array(), 'key' => 'flash');
     $this->assertEqual(end(Permit::$routes), $expected);
     reset(Permit::$routes);
 }