public function testBeforeUpdate()
{
$status = new \stdclass();
$status->done = false;
$document = $this->collection->createDocument(array('p' => 'v'));
$document->onBeforeUpdate(function () use($status) {
$status->done = true;
});
// insert
$document->save();
// update
$document->set('p', 'updated')->save();
$this->assertTrue($status->done);
}