@@ -365,7 +365,9 @@ public void testReadPrimitives()
365365 MessagePacker packer = MessagePack .newDefaultPacker (out );
366366 packer .packString ("foo" );
367367 packer .packDouble (3.14 );
368+ packer .packInt (Integer .MIN_VALUE );
368369 packer .packLong (Long .MAX_VALUE );
370+ packer .packBigInteger (BigInteger .valueOf (Long .MAX_VALUE ).add (BigInteger .ONE ));
369371 byte [] bytes = {0x00 , 0x11 , 0x22 };
370372 packer .packBinaryHeader (bytes .length );
371373 packer .writePayload (bytes );
@@ -374,10 +376,24 @@ public void testReadPrimitives()
374376 JsonParser parser = factory .createParser (new FileInputStream (tempFile ));
375377 assertEquals (JsonToken .VALUE_STRING , parser .nextToken ());
376378 assertEquals ("foo" , parser .getText ());
379+
377380 assertEquals (JsonToken .VALUE_NUMBER_FLOAT , parser .nextToken ());
378381 assertEquals (3.14 , parser .getDoubleValue (), 0.0001 );
382+ assertEquals ("3.14" , parser .getText ());
383+
384+ assertEquals (JsonToken .VALUE_NUMBER_INT , parser .nextToken ());
385+ assertEquals (Integer .MIN_VALUE , parser .getIntValue ());
386+ assertEquals (Integer .MIN_VALUE , parser .getLongValue ());
387+ assertEquals ("-2147483648" , parser .getText ());
388+
379389 assertEquals (JsonToken .VALUE_NUMBER_INT , parser .nextToken ());
380390 assertEquals (Long .MAX_VALUE , parser .getLongValue ());
391+ assertEquals ("9223372036854775807" , parser .getText ());
392+
393+ assertEquals (JsonToken .VALUE_NUMBER_INT , parser .nextToken ());
394+ assertEquals (BigInteger .valueOf (Long .MAX_VALUE ).add (BigInteger .ONE ), parser .getBigIntegerValue ());
395+ assertEquals ("9223372036854775808" , parser .getText ());
396+
381397 assertEquals (JsonToken .VALUE_EMBEDDED_OBJECT , parser .nextToken ());
382398 assertEquals (bytes .length , parser .getBinaryValue ().length );
383399 assertEquals (bytes [0 ], parser .getBinaryValue ()[0 ]);
0 commit comments