@@ -120,21 +120,23 @@ public void TestInOutPacked64Bit()
120
120
121
121
long someNumber = - 1469598103934656037 ;
122
122
ulong uNumber = 81246971249124124 ;
123
-
123
+ ulong uNumber2 = 2287 ;
124
+ ulong uNumber3 = 235 ;
124
125
125
126
BitStream outStream = new BitStream ( buffer ) ;
126
127
outStream . WriteInt64Packed ( someNumber ) ;
127
128
outStream . WriteUInt64Packed ( uNumber ) ;
128
-
129
+ outStream . WriteUInt64Packed ( uNumber2 ) ;
130
+ outStream . WriteUInt64Packed ( uNumber3 ) ;
129
131
130
132
// the bit should now be stored in the buffer, lets see if it comes out
131
133
132
134
BitStream inStream = new BitStream ( buffer ) ;
133
- long result = inStream . ReadInt64Packed ( ) ;
134
- ulong result1 = inStream . ReadUInt64Packed ( ) ;
135
135
136
- Assert . That ( result , Is . EqualTo ( someNumber ) ) ;
137
- Assert . That ( result1 , Is . EqualTo ( uNumber ) ) ;
136
+ Assert . That ( inStream . ReadInt64Packed ( ) , Is . EqualTo ( someNumber ) ) ;
137
+ Assert . That ( inStream . ReadUInt64Packed ( ) , Is . EqualTo ( uNumber ) ) ;
138
+ Assert . That ( inStream . ReadUInt64Packed ( ) , Is . EqualTo ( uNumber2 ) ) ;
139
+ Assert . That ( inStream . ReadUInt64Packed ( ) , Is . EqualTo ( uNumber3 ) ) ;
138
140
}
139
141
140
142
[ Test ]
@@ -330,6 +332,35 @@ public void TestWriteDouble()
330
332
331
333
}
332
334
335
+ [ Test ]
336
+ public void TestWritePackedSingle ( )
337
+ {
338
+ float somenumber = ( float ) Math . PI ;
339
+ BitStream outStream = new BitStream ( ) ;
340
+
341
+ outStream . WriteSinglePacked ( somenumber ) ;
342
+ byte [ ] buffer = outStream . GetBuffer ( ) ;
343
+
344
+ BitStream inStream = new BitStream ( buffer ) ;
345
+
346
+ Assert . That ( inStream . ReadSinglePacked ( ) , Is . EqualTo ( somenumber ) ) ;
347
+ }
348
+
349
+ [ Test ]
350
+ public void TestWritePackedDouble ( )
351
+ {
352
+ double somenumber = Math . PI ;
353
+ BitStream outStream = new BitStream ( ) ;
354
+
355
+ outStream . WriteDoublePacked ( somenumber ) ;
356
+ byte [ ] buffer = outStream . GetBuffer ( ) ;
357
+
358
+ BitStream inStream = new BitStream ( buffer ) ;
359
+
360
+ Assert . That ( inStream . ReadDoublePacked ( ) , Is . EqualTo ( somenumber ) ) ;
361
+
362
+ }
363
+
333
364
[ Test ]
334
365
public void TestWriteMisaligned ( )
335
366
{
@@ -363,5 +394,22 @@ public void TestWriteMisaligned()
363
394
Assert . That ( inStream . ReadByte ( ) , Is . EqualTo ( 1 ) ) ;
364
395
Assert . That ( inStream . ReadByte ( ) , Is . EqualTo ( 0 ) ) ;
365
396
}
397
+
398
+ [ Test ]
399
+ public void TestBits ( )
400
+ {
401
+ ulong somevalue = 0b1100101010011 ;
402
+
403
+ BitStream outStream = new BitStream ( ) ;
404
+ outStream . WriteBits ( somevalue , 5 ) ;
405
+
406
+ byte [ ] buffer = outStream . GetBuffer ( ) ;
407
+
408
+ BitStream inStream = new BitStream ( buffer ) ;
409
+
410
+ //Assert.That(inStream.ReadBits(5), Is.EqualTo(0b10011));
411
+ Assert . Fail ( "There is no way to read back the bits" ) ;
412
+
413
+ }
366
414
}
367
415
}
0 commit comments