public function testBookIsAvailableAfterBookAdded()
 {
     $bookId = Uuid::createNew();
     $title = 'foo';
     $isbn = 'bar';
     $firstName = 'bar';
     $lastName = 'baz';
     $authors = [new AuthorAdded($bookId, $firstName, $lastName)];
     $storage = new MemoryStorage();
     $service = new BookService($storage);
     $service->on(new BookAdded($bookId, $authors, $title, $isbn));
     $book = $service->getBook($bookId);
     self::assertEquals($bookId, $book->getId());
     self::assertEquals($title, $book->getTitle());
     self::assertTrue($book->isAvailable());
     foreach ($book->getAuthors()->getIterator() as $author) {
         /* @var $author Author */
         self::assertEquals($firstName, $author->getFirstName());
         self::assertEquals($lastName, $author->getLastName());
     }
 }