public function testCreateWithFixedData()
{
$time = time();
$doc = new Document(array('exists' => false, 'data' => array('_id' => new MongoId(), 'created' => new MongoDate($time), 'numbers' => new DocumentSet(array('data' => array(7, 8, 9))), 'objects' => new DocumentSet(array('data' => array(new Document(array('data' => array('foo' => 'bar'))), new Document(array('data' => array('baz' => 'dib')))))), 'deeply' => new Document(array('data' => array('nested' => 'object'))))));
$this->assertEqual('object', $doc->deeply->nested);
$this->assertTrue($doc->_id instanceof MongoId);
$result = Exporter::get('create', $doc->export());
$this->assertTrue($result['create']['_id'] instanceof MongoId);
$this->assertTrue($result['create']['created'] instanceof MongoDate);
$this->assertIdentical($time, $result['create']['created']->sec);
$this->assertIdentical(array(7, 8, 9), $result['create']['numbers']);
$expected = array(array('foo' => 'bar'), array('baz' => 'dib'));
$this->assertIdentical($expected, $result['create']['objects']);
$this->assertIdentical(array('nested' => 'object'), $result['create']['deeply']);
}