t = db.insert1;
t.drop();

var o = {a:1};
t.insert(o);
var doc = t.findOne();
assert.eq(1, doc.a);
assert(doc._id != null, tojson(doc));

t.drop();
o = {a:2, _id:new ObjectId()};
var id = o._id;
t.insert(o);
doc = t.findOne();
assert.eq(2, doc.a);
assert.eq(id, doc._id);

t.drop();
o = {a:3, _id:"asdf"};
id = o._id;
t.insert(o);
doc = t.findOne();
assert.eq(3, doc.a);
assert.eq(id, doc._id);

t.drop();
o = {a:4, _id:null};
t.insert(o);
doc = t.findOne();
assert.eq(4, doc.a);
assert.eq(null, doc._id, tojson(doc));

t.drop();
var toInsert = [];
var count = 100 * 1000;
for (i = 0; i < count; ++i) { toInsert.push({_id: i, a: 5}) }
assert.writeOK(t.insert(toInsert));
doc = t.findOne({_id:1});
assert.eq(5, doc.a);
assert.eq(count, t.count(), "bad count");

var stats = db.runCommand({ collstats: "insert1" });
assert(stats.paddingFactor == 1.0);
