public function testDelete()
{
$model = $this->_model;
$data = array('title' => 'Delete Me');
array_push($this->_db->connection->results, true);
$this->_query->data($data);
$this->_db->create($this->_query);
array_push($this->_db->connection->results, new MockResultResource(array('data' => array())));
$this->assertFalse($this->_db->read($this->_query)->first());
$result = array_pop($this->_db->connection->queries);
$conditions = array('_id' => $this->_query->entity()->_id);
$this->assertEqual($conditions, $result['conditions']);
$this->assertTrue($this->_query->entity()->exists());
$id = new MongoId();
$this->_query = new Query(compact('model') + array('entity' => new Document(compact('model') + array('data' => array('_id' => $id)))));
array_push($this->_db->connection->results, true);
$this->_query->conditions($conditions);
$this->assertTrue($this->_db->delete($this->_query));
$this->assertFalse($this->_query->entity()->exists());
$expected = compact('conditions') + array('type' => 'remove', 'collection' => 'posts', 'options' => array('justOne' => false, 'w' => 1, 'wTimeoutMS' => 10000, 'fsync' => false));
$this->assertEqual($expected, array_pop($this->_db->connection->queries));
}