/**
  * @covers Respect\Rest\Router::__call
  * @covers Respect\Rest\Router::factoryRoute
  */
 public function testMagicConstructorCanRouteToFactoriesThatReturnInstancesOfAClass()
 {
     $router = new Router();
     eval('class MockRoutable implements Respect\\Rest\\Routable{ public function GET() {} }');
     eval('class FactoryClass { public static function factoryMethod() { return new MockRoutable(); } }');
     $factoryRoute = $router->get('/', 'FactoryClass', array('FactoryClass', 'factoryMethod'));
     $concreteFactoryRoute = $router->factoryRoute('GET', '/', 'FactoryClass', array('FactoryClass', 'factoryMethod'));
     $this->assertInstanceOf('Respect\\Rest\\Routes\\Factory', $factoryRoute, 'Returned result from a magic constructor in this case should return a Routes\\Factory');
     $this->assertEquals($factoryRoute, $concreteFactoryRoute, 'The magic and concrete instances of Routes\\Factory should be equivalent');
 }