@@ -120,21 +120,23 @@ public void TestInOutPacked64Bit()
120120
121121 long someNumber = - 1469598103934656037 ;
122122 ulong uNumber = 81246971249124124 ;
123-
123+ ulong uNumber2 = 2287 ;
124+ ulong uNumber3 = 235 ;
124125
125126 BitStream outStream = new BitStream ( buffer ) ;
126127 outStream . WriteInt64Packed ( someNumber ) ;
127128 outStream . WriteUInt64Packed ( uNumber ) ;
128-
129+ outStream . WriteUInt64Packed ( uNumber2 ) ;
130+ outStream . WriteUInt64Packed ( uNumber3 ) ;
129131
130132 // the bit should now be stored in the buffer, lets see if it comes out
131133
132134 BitStream inStream = new BitStream ( buffer ) ;
133- long result = inStream . ReadInt64Packed ( ) ;
134- ulong result1 = inStream . ReadUInt64Packed ( ) ;
135135
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 ) ) ;
138140 }
139141
140142 [ Test ]
@@ -330,6 +332,35 @@ public void TestWriteDouble()
330332
331333 }
332334
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+
333364 [ Test ]
334365 public void TestWriteMisaligned ( )
335366 {
@@ -363,5 +394,22 @@ public void TestWriteMisaligned()
363394 Assert . That ( inStream . ReadByte ( ) , Is . EqualTo ( 1 ) ) ;
364395 Assert . That ( inStream . ReadByte ( ) , Is . EqualTo ( 0 ) ) ;
365396 }
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+ }
366414 }
367415}
0 commit comments