/**
  * @param string $name
  *
  * @return Page
  *
  * @throws \RuntimeException
  */
 public function getPage($name)
 {
     if (null === $this->pageObjectFactory) {
         throw new \RuntimeException('To create pages you need to pass a factory with setPageObjectFactory()');
     }
     return $this->pageObjectFactory->createPage($name);
 }
 function it_creates_a_page(Factory $factory, Page $page)
 {
     $factory->createPage('Home')->willReturn($page);
     $this->callGetPage('Home')->shouldReturn($page);
 }
 /**
  * @param string $name
  *
  * @return Page
  */
 public function createPage($name)
 {
     return $this->decoratedFactory->createPage($name);
 }
 /**
  * @param string $name
  *
  * @return Page
  */
 protected function getPage($name)
 {
     return $this->factory->createPage($name);
 }
 function it_delegates_create_page_calls_to_the_decorated_factory(Factory $decoratedFactory, Page $page)
 {
     $decoratedFactory->createPage('Foo')->willReturn($page);
     $this->createPage('Foo')->shouldReturn($page);
 }
 function it_should_create_a_page(PageObjectFactory $pageObjectFactory, Page $page)
 {
     $pageObjectFactory->createPage('Article list')->willReturn($page);
     $this->setPageObjectFactory($pageObjectFactory);
     $this->getPage('Article list')->shouldReturn($page);
 }