public void MessageWriter_multiple_reads_writes() { _messageBuilder.Write(true); _messageBuilder.Write(false); _messageBuilder.Write((char)'D'); _messageBuilder.Write(new char[] { 'A', 'Y', 'X', '0', '9', '8' }); _messageBuilder.Write((byte)214); _messageBuilder.Write((sbyte)125); _messageBuilder.Write((sbyte)-125); _messageBuilder.Write((short)4513); _messageBuilder.Write((short)-4513); _messageBuilder.Write((ushort)43513); _messageBuilder.Write((int)236236231); _messageBuilder.Write((int)-236236231); _messageBuilder.Write((uint)2362326231); _messageBuilder.Write((long)2362362312561531); _messageBuilder.Write((long)-2362362312561531); _messageBuilder.Write((ulong)2362362312561531125); _messageBuilder.Write((float)1234.56789); _messageBuilder.Write((double)123467.5678912); _messageBuilder.Write((decimal)123456789123456789.123456789123456789); var expectedByteArray = Utilities.SequentialBytes(50); _messageBuilder.Write(expectedByteArray, 0, expectedByteArray.Length); _messageBuilder.Write(FillerText); var message = _messageBuilder.ToMessage(); _messageReader.Message = message; Assert.Equal(true, _messageReader.ReadBoolean()); Assert.Equal(false, _messageReader.ReadBoolean()); Assert.Equal('D', _messageReader.ReadChar()); Assert.Equal(new char[] { 'A', 'Y', 'X', '0', '9', '8' }, _messageReader.ReadChars(6)); Assert.Equal((byte)214, _messageReader.ReadByte()); Assert.Equal((sbyte)125, _messageReader.ReadSByte()); Assert.Equal((sbyte)-125, _messageReader.ReadSByte()); Assert.Equal((short)4513, _messageReader.ReadInt16()); Assert.Equal((short)-4513, _messageReader.ReadInt16()); Assert.Equal((ushort)43513, _messageReader.ReadUInt16()); Assert.Equal((int)236236231, _messageReader.ReadInt32()); Assert.Equal((int)-236236231, _messageReader.ReadInt32()); Assert.Equal((uint)2362326231, _messageReader.ReadUInt32()); Assert.Equal((long)2362362312561531, _messageReader.ReadInt64()); Assert.Equal((long)-2362362312561531, _messageReader.ReadInt64()); Assert.Equal((ulong)2362362312561531125, _messageReader.ReadUInt64()); Assert.Equal((float)1234.56789, _messageReader.ReadSingle()); Assert.Equal((double)123467.5678912, _messageReader.ReadDouble()); Assert.Equal((decimal)123456789123456789.123456789123456789, _messageReader.ReadDecimal()); var readByteArray = new byte[50]; _messageReader.Read(readByteArray, 0, readByteArray.Length); Assert.Equal(expectedByteArray, readByteArray); Assert.Equal(FillerText, _messageReader.ReadString()); Assert.True(_messageReader.IsAtEnd); }