public function testConstruction()
 {
     $data = ['author_id' => '77707f1b-400c-3fe0-b656-c0b14499a71d', 'title' => 'Lorem ipsum', 'isbn' => '9780439678131'];
     $book = new Book($data);
     $this->assertNull($book->getId());
     $this->assertSame($data['author_id'], $book->getAuthorId());
     $this->assertSame($data['title'], $book->getTitle());
     $this->assertSame($data['isbn'], $book->getIsbn());
     $this->assertNull($book->getDatePublished());
 }
 /**
  * Update a record in the database
  *
  * @param  Book $book
  * @return boolean
  */
 protected function update(Book $book)
 {
     $sql = 'UPDATE book SET author_id =:author_id, title = :title,
             isbn = :isbn, date_published = :date_published
             WHERE id = :id';
     $params = ['author_id' => $book->getAuthorId(), 'title' => $book->getTitle(), 'isbn' => $book->getIsbn(), 'date_published' => $book->getDatePublished(), 'id' => $book->getId()];
     $statement = $this->dbAdapter->prepare($sql);
     return $statement->execute($params);
 }