/**
  * @test
  */
 public function NewPaginatedCollection_ReturnPaginatedCollection()
 {
     $paginatedCollection = new PaginatedCollectionImpl();
     $this->assertEmpty($paginatedCollection->getItems());
     $this->assertEquals(0, $paginatedCollection->getItemsPerPage());
     $this->assertEquals(1, $paginatedCollection->getPage());
     $this->assertEquals(0, $paginatedCollection->getTotalItems());
     $this->assertEquals(1, $paginatedCollection->getTotalPages());
 }
 /**
  * @test
  */
 public function WithPaginatedCollection_CreateFromPaginatedCollection_ReturnResponse()
 {
     $expectedItems = array('item1', 'item2', 'item3');
     $expectedItemsPerPage = 2;
     $expectedPage = 2;
     $paginatedCollection = new PaginatedCollectionImpl();
     $paginatedCollection->setItems($expectedItems);
     $paginatedCollection->setItemsPerPage($expectedItemsPerPage);
     $paginatedCollection->setPage($expectedPage);
     $paginatedCollection->setTotalItems(count($expectedItems));
     $response = $this->factory->createFromPaginatedCollection($paginatedCollection);
     $this->assertEquals($expectedItems, $response->getItems());
     $this->assertEquals($expectedItemsPerPage, $response->getItemsPerPage());
     $this->assertEquals($expectedPage, $response->getPage());
     $this->assertEquals(count($expectedItems), $response->getTotalItems());
     $this->assertEquals(2, $response->getTotalPages());
 }