@@ -9721,6 +9721,145 @@ public void TestFromJsonStringLongKindIntOrFloat2() {
97219721 Assert . IsTrue ( cbor . AsDoubleValue ( ) == Double . NegativeInfinity ) ;
97229722 }
97239723
9724+ [ Test ]
9725+ public void TestRoundTripRegressions ( ) {
9726+ {
9727+ var options = new CBOREncodeOptions ( "allowduplicatekeys=1;keepkeyorder=1" ) ;
9728+ var bytes = new byte [ ] {
9729+ ( byte ) 0xba , 0x00 , 0x00 , 0x00 , 0x03 ,
9730+ ( byte ) 0xf9 ,
9731+ ( byte ) 0x83 , 0x1d ,
9732+ ( byte ) 0xda ,
9733+ ( byte ) 0xb6 ,
9734+ ( byte ) 0xda , 0x50 , 0x56 , 0x1a , 0x50 ,
9735+ ( byte ) 0xe3 , 0x2c , 0x7a , 0x16 ,
9736+ ( byte ) 0xfa , 0x50 , 0x32 , 0x73 , 0x07 ,
9737+ ( byte ) 0xfa , ( byte ) 0xb9 , 0x2d , 0x73 , ( byte ) 0xce , 0x38 , ( byte ) 0xd0 ,
9738+ } ;
9739+ CBORTestCommon . AssertRoundTrip ( CBORObject . DecodeFromBytes ( bytes , options ) ) ;
9740+ }
9741+ {
9742+ var options = new CBOREncodeOptions ( "allowduplicatekeys=1;keepkeyorder=1" ) ;
9743+ var bytes = new byte [ ] {
9744+ ( byte ) 0xbf ,
9745+ ( byte ) 0x9f ,
9746+ ( byte ) 0xbf , 0x39 , 0x20 ,
9747+ ( byte ) 0x8f , 0x4a , 0x1f , 0x46 , 0x26 , 0x0b , 0x3e , 0x72 , 0x2c , 0x7f , 0x11 ,
9748+ 0x2e , 0x39 ,
9749+ ( byte ) 0x9d ,
9750+ ( byte ) 0xba , 0x1a , 0x11 ,
9751+ ( byte ) 0x8d ,
9752+ ( byte ) 0xc0 ,
9753+ ( byte ) 0xb4 , 0x38 ,
9754+ ( byte ) 0xb6 ,
9755+ ( byte ) 0x9b , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 ,
9756+ ( byte ) 0xd8 , 0x3b ,
9757+ ( byte ) 0x99 , 0x00 , 0x02 , 0x3b , 0x05 ,
9758+ ( byte ) 0xbb ,
9759+ ( byte ) 0xea ,
9760+ ( byte ) 0x8e , 0x4b ,
9761+ ( byte ) 0xd3 , 0x5e , 0x22 ,
9762+ ( byte ) 0x9f , 0x59 , 0x00 , 0x00 ,
9763+ ( byte ) 0xbb , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x41 , 0x20 ,
9764+ ( byte ) 0xbf , 0x1a , 0x00 , 0x00 , 0x00 , 0x61 ,
9765+ ( byte ) 0xb9 , 0x00 , 0x01 , 0x1a , 0x00 , 0x00 , 0x00 , 0x0e ,
9766+ ( byte ) 0xba , 0x00 , 0x00 , 0x00 , 0x00 ,
9767+ ( byte ) 0xff ,
9768+ ( byte ) 0xff ,
9769+ ( byte ) 0xff ,
9770+ ( byte ) 0xd8 , 0x22 ,
9771+ ( byte ) 0xf8 ,
9772+ ( byte ) 0x93 ,
9773+ ( byte ) 0xd9 ,
9774+ ( byte ) 0xaf , 0x33 , 0x19 ,
9775+ ( byte ) 0xf0 ,
9776+ ( byte ) 0xf0 ,
9777+ ( byte ) 0xf9 ,
9778+ ( byte ) 0x85 ,
9779+ ( byte ) 0x93 ,
9780+ ( byte ) 0x99 , 0x00 , 0x01 , 0x3a ,
9781+ ( byte ) 0xb5 ,
9782+ ( byte ) 0xfb , 0x4d , 0x43 ,
9783+ ( byte ) 0x98 , 0x00 ,
9784+ ( byte ) 0xff , ( byte ) 0xfa , ( byte ) 0xb0 , ( byte ) 0xb4 , ( byte ) 0xdc , 0x6d ,
9785+ ( byte ) 0xff ,
9786+ } ;
9787+ CBORTestCommon . AssertRoundTrip ( CBORObject . DecodeFromBytes ( bytes , options ) ) ;
9788+ }
9789+ {
9790+ var options = new CBOREncodeOptions ( "allowduplicatekeys=1;keepkeyorder=1" ) ;
9791+ var bytes = new byte [ ] {
9792+ ( byte ) 0xdb , 0x0d ,
9793+ ( byte ) 0xcb , 0x5d , 0x78 ,
9794+ ( byte ) 0x92 ,
9795+ ( byte ) 0xc2 ,
9796+ ( byte ) 0xc7 , 0x2b ,
9797+ ( byte ) 0xb9 , 0x00 , 0x02 , 0x39 ,
9798+ ( byte ) 0xee ,
9799+ ( byte ) 0xa0 , ( byte ) 0xa0 , 0x1a , 0x0e , ( byte ) 0xd9 , ( byte ) 0xec , ( byte ) 0xca ,
9800+ ( byte ) 0xf2 ,
9801+ } ;
9802+ CBORTestCommon . AssertRoundTrip ( CBORObject . DecodeFromBytes ( bytes , options ) ) ;
9803+ }
9804+ {
9805+ var options = new CBOREncodeOptions ( "allowduplicatekeys=1;keepkeyorder=1" ) ;
9806+ var bytes = new byte [ ] {
9807+ ( byte ) 0xbf ,
9808+ ( byte ) 0xfb ,
9809+ ( byte ) 0xb1 , 0x21 ,
9810+ ( byte ) 0x93 ,
9811+ ( byte ) 0x8c ,
9812+ ( byte ) 0xc6 ,
9813+ ( byte ) 0xf3 ,
9814+ ( byte ) 0xcf ,
9815+ ( byte ) 0xb7 , ( byte ) 0xf8 , 0x76 , 0x18 , ( byte ) 0xda , 0x39 , 0x60 , ( byte ) 0xf4 ,
9816+ ( byte ) 0xff ,
9817+ } ;
9818+ CBORTestCommon . AssertRoundTrip ( CBORObject . DecodeFromBytes ( bytes , options ) ) ;
9819+ }
9820+ {
9821+ var options = new CBOREncodeOptions ( "allowduplicatekeys=1;keepkeyorder=1" ) ;
9822+ var bytes = new byte [ ] {
9823+ ( byte ) 0xbb , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
9824+ 0x00 , 0x02 , ( byte ) 0xf0 , 0x0d , 0x2a , 0x21 ,
9825+ } ;
9826+ CBORTestCommon . AssertRoundTrip ( CBORObject . DecodeFromBytes ( bytes , options ) ) ;
9827+ }
9828+ {
9829+ var options = new CBOREncodeOptions ( "allowduplicatekeys=1;keepkeyorder=1" ) ;
9830+ var bytes = new byte [ ] {
9831+ ( byte ) 0xba , 0x00 , 0x00 , 0x00 , 0x02 ,
9832+ ( byte ) 0xf9 , 0x48 , 0x37 ,
9833+ ( byte ) 0xda ,
9834+ ( byte ) 0xb5 , 0x72 ,
9835+ ( byte ) 0xcf ,
9836+ ( byte ) 0xf8 , 0x31 , 0x3b , 0x06 , 0x78 ,
9837+ ( byte ) 0xdb , 0x44 , 0x7d , ( byte ) 0xba , ( byte ) 0xbd , 0x7d , 0x39 , ( byte ) 0x98 ,
9838+ ( byte ) 0xb9 ,
9839+ } ;
9840+ CBORTestCommon . AssertRoundTrip ( CBORObject . DecodeFromBytes ( bytes , options ) ) ;
9841+ }
9842+ }
9843+ [ Test ]
9844+ public void TestMapCompareRegressions ( ) {
9845+ CBORObject m1 , m2 ;
9846+ m1 = CBORObject . NewMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 2 ) ;
9847+ m2 = CBORObject . NewOrderedMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 2 ) ;
9848+ Assert . AreEqual ( 0 , m1 . CompareTo ( m2 ) ) ;
9849+ TestCommon . CompareTestEqualAndConsistent ( m1 , m2 ) ;
9850+ m1 = CBORObject . NewMap ( ) . Add ( 3 , 2 ) . Add ( 1 , 2 ) ;
9851+ m2 = CBORObject . NewOrderedMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 2 ) ;
9852+ TestCommon . CompareTestLess ( m1 , m2 ) ;
9853+ m1 = CBORObject . NewMap ( ) . Add ( 3 , 7 ) . Add ( 1 , 2 ) ;
9854+ m2 = CBORObject . NewOrderedMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 2 ) ;
9855+ TestCommon . CompareTestGreater ( m1 , m2 ) ;
9856+ m1 = CBORObject . NewMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 0 ) ;
9857+ m2 = CBORObject . NewOrderedMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 2 ) ;
9858+ TestCommon . CompareTestLess ( m1 , m2 ) ;
9859+ m1 = CBORObject . NewMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 7 ) ;
9860+ m2 = CBORObject . NewOrderedMap ( ) . Add ( 3 , 4 ) . Add ( 1 , 2 ) ;
9861+ TestCommon . CompareTestGreater ( m1 , m2 ) ;
9862+ }
97249863 [ Test ]
97259864 public void TestToObject_TypeMapper ( ) {
97269865 var mapper = new CBORTypeMapper ( )
0 commit comments