Skip to content

Commit 7be142b

Browse files
committed
Test misalligned data
1 parent 59826fb commit 7be142b

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

MLAPI.Tests/NetworkingManagerComponents/Binary/BitStreamTest.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public void TestSetLength2()
4848

4949
bitStream.SetLength(0);
5050

51+
// position should never go beyond length
5152
Assert.That(bitStream.Position, Is.EqualTo(0));
5253
}
5354

@@ -327,6 +328,36 @@ public void TestWriteDouble()
327328

328329
Assert.That(inStream.ReadDouble(), Is.EqualTo(somenumber));
329330

331+
}
332+
333+
[Test]
334+
public void TestWriteMisaligned()
335+
{
336+
BitStream outStream = new BitStream();
337+
outStream.WriteBit(true);
338+
outStream.WriteBit(false);
339+
// now the stream is misalligned, lets write some bytes
340+
outStream.WriteByte(244);
341+
outStream.WriteByte(123);
342+
343+
outStream.WriteBit(true);
344+
outStream.WriteByte(1);
345+
outStream.WriteByte(0);
346+
347+
byte[] buffer = outStream.GetBuffer();
348+
349+
BitStream inStream = new BitStream(buffer);
350+
351+
Assert.That(inStream.ReadBit(), Is.True);
352+
Assert.That(inStream.ReadBit(), Is.False);
353+
Assert.That(inStream.ReadByte(), Is.EqualTo(244));
354+
Assert.That(inStream.ReadByte(), Is.EqualTo(123));
355+
Assert.That(inStream.ReadBit(), Is.True);
356+
Assert.That(inStream.ReadByte(), Is.EqualTo(1));
357+
Assert.That(inStream.ReadByte(), Is.EqualTo(0));
358+
359+
360+
330361
}
331362
}
332363
}

0 commit comments

Comments
 (0)