use of de.undercouch.bson4jackson.types.ObjectId in project bson4jackson by michel-kraemer.
the class BsonParserTest method parseComplex.
/**
* Test if a complex BSON object containing various values can be
* deserialized
* @throws Exception if something goes wrong
*/
@Test
public void parseComplex() throws Exception {
BSONObject o = new BasicBSONObject();
o.put("Timestamp", new BSONTimestamp(0xAABB, 0xCCDD));
o.put("Symbol", new Symbol("Test"));
o.put("ObjectId", org.bson.types.ObjectId.createFromLegacyFormat(Integer.MAX_VALUE, -2, Integer.MIN_VALUE));
Pattern p = Pattern.compile(".*", Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE | Pattern.UNICODE_CASE);
o.put("Regex", p);
Map<?, ?> data = parseBsonObject(o);
assertEquals(new Timestamp(0xAABB, 0xCCDD), data.get("Timestamp"));
assertEquals(new de.undercouch.bson4jackson.types.Symbol("Test"), data.get("Symbol"));
ObjectId oid = (ObjectId) data.get("ObjectId");
assertEquals(Integer.MAX_VALUE, oid.getTime());
assertEquals(-2, oid.getMachine());
assertEquals(Integer.MIN_VALUE, oid.getInc());
Pattern p2 = (Pattern) data.get("Regex");
assertEquals(p.flags(), p2.flags());
assertEquals(p.pattern(), p2.pattern());
}
Aggregations