Search in sources :

Example 6 with ObjectId

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());
}
Also used : BasicBSONObject(org.bson.BasicBSONObject) Pattern(java.util.regex.Pattern) ObjectId(de.undercouch.bson4jackson.types.ObjectId) Symbol(org.bson.types.Symbol) BasicBSONObject(org.bson.BasicBSONObject) BSONObject(org.bson.BSONObject) BSONTimestamp(org.bson.types.BSONTimestamp) Timestamp(de.undercouch.bson4jackson.types.Timestamp) BSONTimestamp(org.bson.types.BSONTimestamp) Test(org.junit.Test)

Aggregations

ObjectId (de.undercouch.bson4jackson.types.ObjectId)6 Test (org.junit.Test)3 ByteBuffer (java.nio.ByteBuffer)2 BSONObject (org.bson.BSONObject)2 SerializableString (com.fasterxml.jackson.core.SerializableString)1 TreeNode (com.fasterxml.jackson.core.TreeNode)1 SerializedString (com.fasterxml.jackson.core.io.SerializedString)1 ValueNode (com.fasterxml.jackson.databind.node.ValueNode)1 BsonParser (de.undercouch.bson4jackson.BsonParser)1 Timestamp (de.undercouch.bson4jackson.types.Timestamp)1 LinkedHashMap (java.util.LinkedHashMap)1 Random (java.util.Random)1 Pattern (java.util.regex.Pattern)1 BasicBSONObject (org.bson.BasicBSONObject)1 BSONTimestamp (org.bson.types.BSONTimestamp)1 Symbol (org.bson.types.Symbol)1