/**
  * Test the type sensitivity of the resturning columns.
  *
  */
 public function testTypeSensitive()
 {
     $book = BookPeer::doSelectOne(new Criteria());
     $r = new Review();
     $r->setReviewedBy("testTypeSensitive Tester");
     $r->setReviewDate(time());
     $r->setBook($book);
     $r->setRecommended(true);
     $r->save();
     $id = $r->getId();
     unset($r);
     // clear the instance cache to force reload from database.
     ReviewPeer::clearInstancePool();
     BookPeer::clearInstancePool();
     // reload and verify that the types are the same
     $r2 = ReviewPeer::retrieveByPK($id);
     $this->assertType('integer', $r2->getId(), "Expected getId() to return an integer.");
     $this->assertType('string', $r2->getReviewedBy(), "Expected getReviewedBy() to return a string.");
     $this->assertType('boolean', $r2->getRecommended(), "Expected getRecommended() to return a boolean.");
     $this->assertType('Book', $r2->getBook(), "Expected getBook() to return a Book.");
     $this->assertType('float', $r2->getBook()->getPrice(), "Expected Book->getPrice() to return a float.");
     $this->assertType('DateTime', $r2->getReviewDate(null), "Expected Book->getReviewDate() to return a DateTime.");
 }