/**
  * Verify properties are set properly.
  *
  * @test
  *
  * @return void
  */
 public function construct()
 {
     $client = new Client('not under test', 'not under test', new CharacterAdapter());
     $now = new \DateTime();
     $data = ['id' => 1, 'name' => 'a name', 'description' => 'a description', 'modified' => $now->format('r'), 'resourceURI' => 'a resource uri', 'urls' => [['type' => 'a type', 'url' => 'a url']], 'thumbnail' => ['path' => 'a path', 'extension' => 'an extension'], 'comics' => ['available' => 2, 'returned' => 1, 'collectionURI' => 'a comics collection uri', 'items' => [['resourceURI' => 'a comics resource uri', 'name' => 'a comics name']]], 'stories' => ['available' => 2, 'returned' => 1, 'collectionURI' => 'a stories collection uri', 'items' => [['resourceURI' => 'a stories resource uri', 'name' => 'a stories name']]], 'events' => ['available' => 2, 'returned' => 1, 'collectionURI' => 'a events collection uri', 'items' => [['resourceURI' => 'a events resource uri', 'name' => 'a events name']]], 'series' => ['available' => 2, 'returned' => 1, 'collectionURI' => 'a series collection uri', 'items' => [['resourceURI' => 'a series resource uri', 'name' => 'a series name']]]];
     $character = new Character($data);
     $this->assertSame(1, $character->getId());
     $this->assertSame('a name', $character->getName());
     $this->assertSame('a description', $character->getDescription());
     $this->assertSame($now->getTimestamp(), $character->getModified()->getTimestamp());
     $this->assertSame('a resource uri', $character->getResourceURI());
     $this->assertSame(1, count($character->getUrls()));
     $this->assertSame('a type', $character->getUrls()[0]->getType());
     $this->assertSame('a url', $character->getUrls()[0]->getUrl());
     $this->assertSame('a path', $character->getThumbnail()->getPath());
     $this->assertSame('an extension', $character->getThumbnail()->getExtension());
     $this->assertSame(2, $character->getComics()->getAvailable());
     $this->assertSame(1, $character->getComics()->getReturned());
     $this->assertSame('a comics collection uri', $character->getComics()->getCollectionURI());
     $this->assertSame(1, count($character->getComics()->getItems()));
     $this->assertSame('a comics resource uri', $character->getComics()->getItems()[0]->getResourceURI());
     $this->assertSame('a comics name', $character->getComics()->getItems()[0]->getName());
     $this->assertSame(2, $character->getStories()->getAvailable());
     $this->assertSame(1, $character->getStories()->getReturned());
     $this->assertSame(1, count($character->getStories()->getItems()));
     $this->assertSame('a stories resource uri', $character->getStories()->getItems()[0]->getResourceURI());
     $this->assertSame('a stories name', $character->getStories()->getItems()[0]->getName());
     $this->assertSame(2, $character->getEvents()->getAvailable());
     $this->assertSame(1, $character->getEvents()->getReturned());
     $this->assertSame('a events collection uri', $character->getEvents()->getCollectionURI());
     $this->assertSame(1, count($character->getEvents()->getItems()));
     $this->assertSame('a events resource uri', $character->getEvents()->getItems()[0]->getResourceURI());
     $this->assertSame('a events name', $character->getEvents()->getItems()[0]->getName());
     $this->assertSame(2, $character->getSeries()->getAvailable());
     $this->assertSame(1, $character->getSeries()->getReturned());
     $this->assertSame('a series collection uri', $character->getSeries()->getCollectionURI());
     $this->assertSame(1, count($character->getSeries()->getItems()));
     $this->assertSame('a series resource uri', $character->getSeries()->getItems()[0]->getResourceURI());
     $this->assertSame('a series name', $character->getSeries()->getItems()[0]->getName());
 }