public void TestFindAndModifyTyped()
{
_collection.RemoveAll();
var obj = new FindAndModifyClass { Id = ObjectId.GenerateNewId(), Value = 1 };
_collection.Insert(obj);
var query = Query.EQ("_id", obj.Id);
var sortBy = SortBy.Null;
var update = Update.Inc("Value", 1);
var result = _collection.FindAndModify(query, sortBy, update, true); // returnNew
var rehydrated = result.GetModifiedDocumentAs<FindAndModifyClass>();
Assert.AreEqual(obj.Id, rehydrated.Id);
Assert.AreEqual(2, rehydrated.Value);
}