public function testUpdate() {
$model = $this->_model;
$this->query->model($model);
$this->query->data(array('title' => 'Test Post'));
$this->db->create($this->query);
$result = $this->db->read(new Query(compact('model')));
$original = $result->first()->to('array');
$this->assertEqual(array('_id', 'title'), array_keys($original));
$this->assertEqual('Test Post', $original['title']);
$this->assertPattern('/^[0-9a-f]{24}$/', $original['_id']);
$this->query = new Query(compact('model') + array(
'data' => array('title' => 'New Post Title'),
'conditions' => array('_id' => $original['_id'])
));
$this->assertTrue($this->db->update($this->query));
$result = $this->db->read(new Query(compact('model') + array(
'conditions' => array('_id' => $original['_id'])
)));
$this->assertEqual(1, $result->count());
$updated = $result->first();
$updated = $updated ? $updated->to('array') : array();
$this->assertEqual($original['_id'], $updated['_id']);
$this->assertEqual('New Post Title', $updated['title']);
}