public void TestFloat32() { //using (var stream = new MemoryStream()) { float f; Buffer stream = new Buffer(); Serializer serializer = new Serializer(stream); Deserializer deserializer = new Deserializer(stream); // Boundary value tests serializer.Write(0.0F); serializer.Write(Single.Epsilon); serializer.Write(Single.MinValue); serializer.Write(Single.MaxValue); serializer.Write(Single.NegativeInfinity); serializer.Write(Single.PositiveInfinity); serializer.Write(Single.NaN); stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); deserializer.Read(out f); Assert.AreEqual(0.0F, f); deserializer.Read(out f); Assert.AreEqual(Single.Epsilon, f); deserializer.Read(out f); Assert.AreEqual(Single.MinValue, f); deserializer.Read(out f); Assert.AreEqual(Single.MaxValue, f); deserializer.Read(out f); Assert.AreEqual(Single.NegativeInfinity, f); deserializer.Read(out f); Assert.AreEqual(Single.PositiveInfinity, f); deserializer.Read(out f); Assert.AreEqual(Single.NaN, f); stream.Trim(); //stream.SetLength(0); // Intermediate value tests serializer.Write(0.001234F); serializer.Write(8765.4321F); stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); deserializer.Read(out f); Assert.AreEqual(0.001234F, f); deserializer.Read(out f); Assert.AreEqual(8765.4321F, f); } }
public void TestFloat32() { var buffer = new Buffer(1); // Boundary value tests buffer.Write(0.0F); buffer.Write(Single.Epsilon); buffer.Write(Single.MinValue); buffer.Write(Single.MaxValue); buffer.Write(Single.NegativeInfinity); buffer.Write(Single.PositiveInfinity); buffer.Write(Single.NaN); buffer.Rewind(); float f; buffer.Read(out f); Assert.AreEqual(0.0F, f); buffer.Read(out f); Assert.AreEqual(Single.Epsilon, f); buffer.Read(out f); Assert.AreEqual(Single.MinValue, f); buffer.Read(out f); Assert.AreEqual(Single.MaxValue, f); buffer.Read(out f); Assert.AreEqual(Single.NegativeInfinity, f); buffer.Read(out f); Assert.AreEqual(Single.PositiveInfinity, f); buffer.Read(out f); Assert.AreEqual(Single.NaN, f); buffer.Trim(); // Intermediate value tests buffer.Write(0.001234F); buffer.Write(8765.4321F); buffer.Rewind(); buffer.Read(out f); Assert.AreEqual(0.001234F, f); buffer.Read(out f); Assert.AreEqual(8765.4321F, f); }
public void TestVariableLengthInt64() { //using (var stream = new MemoryStream()) { long l, bytes; Buffer stream = new Buffer(); Serializer serializer = new Serializer(stream); Deserializer deserializer = new Deserializer(stream); // Boundary value tests serializer.Write(0L); serializer.Write(-1L); serializer.Write(Int64.MaxValue); serializer.Write(Int64.MinValue); stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); bytes = deserializer.Read(out l); Assert.AreEqual(1, bytes); Assert.AreEqual(0L, l); bytes = deserializer.Read(out l); Assert.AreEqual(1, bytes); Assert.AreEqual(-1L, l); bytes = deserializer.Read(out l); Assert.AreEqual(10, bytes); Assert.AreEqual(Int64.MaxValue, l); bytes = deserializer.Read(out l); Assert.AreEqual(10, bytes); Assert.AreEqual(Int64.MinValue, l); stream.Trim(); //stream.SetLength(0); // Intermediate value tests serializer.Write(0x00003f80L >> 1); // 2 serializer.Write(0x001fc000L >> 1); // 3 serializer.Write(0x0fe00000L >> 1); // 4 serializer.Write(0x00000007f0000000L >> 1); // 5 serializer.Write(0x000003f800000000L >> 1); // 6 serializer.Write(0x0001fc0000000000L >> 1); // 7 serializer.Write(0x00fe000000000000L >> 1); // 8 serializer.Write(0x7f00000000000000L >> 1); // 9 stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); bytes = deserializer.Read(out l); Assert.AreEqual(2, bytes); Assert.AreEqual(0x00003f80L >> 1, l); bytes = deserializer.Read(out l); Assert.AreEqual(3, bytes); Assert.AreEqual(0x001fc000L >> 1, l); bytes = deserializer.Read(out l); Assert.AreEqual(4, bytes); Assert.AreEqual(0x0fe00000L >> 1, l); bytes = deserializer.Read(out l); Assert.AreEqual(5, bytes); Assert.AreEqual(0x00000007f0000000L >> 1, l); bytes = deserializer.Read(out l); Assert.AreEqual(6, bytes); Assert.AreEqual(0x000003f800000000L >> 1, l); bytes = deserializer.Read(out l); Assert.AreEqual(7, bytes); Assert.AreEqual(0x0001fc0000000000L >> 1, l); bytes = deserializer.Read(out l); Assert.AreEqual(8, bytes); Assert.AreEqual(0x00fe000000000000L >> 1, l); bytes = deserializer.Read(out l); Assert.AreEqual(9, bytes); Assert.AreEqual(0x7f00000000000000L >> 1, l); } }
public void TestVariableLengthInt32() { //using (var stream = new MemoryStream()) { int i, bytes; Buffer stream = new Buffer(); Serializer serializer = new Serializer(stream); Deserializer deserializer = new Deserializer(stream); // Boundary value tests serializer.Write(0); serializer.Write(-1); serializer.Write(Int32.MaxValue); serializer.Write(Int32.MinValue); stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); bytes = deserializer.Read(out i); Assert.AreEqual(1, bytes); Assert.AreEqual(0, i); bytes = deserializer.Read(out i); Assert.AreEqual(1, bytes); Assert.AreEqual(-1, i); bytes = deserializer.Read(out i); Assert.AreEqual(5, bytes); Assert.AreEqual(Int32.MaxValue, i); bytes = deserializer.Read(out i); Assert.AreEqual(5, bytes); Assert.AreEqual(Int32.MinValue, i); stream.Trim(); //stream.SetLength(0); // Intermediate value tests serializer.Write(0x00003f80 >> 1); // 2 serializer.Write(0x001fc000 >> 1); // 3 serializer.Write(0x0fe00000 >> 1); // 4 stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); bytes = deserializer.Read(out i); Assert.AreEqual(2, bytes); Assert.AreEqual(0x00003f80 >> 1, i); bytes = deserializer.Read(out i); Assert.AreEqual(3, bytes); Assert.AreEqual(0x001fc000 >> 1, i); bytes = deserializer.Read(out i); Assert.AreEqual(4, bytes); Assert.AreEqual(0x0fe00000 >> 1, i); } }
public void TestFloat64() { var buffer = new Buffer(2); // Boundary value tests buffer.Write(0.0D); buffer.Write(Double.Epsilon); buffer.Write(Double.MinValue); buffer.Write(Double.MaxValue); buffer.Write(Double.NegativeInfinity); buffer.Write(Double.PositiveInfinity); buffer.Write(Double.NaN); buffer.Rewind(); double d; buffer.Read(out d); Assert.AreEqual(0.0D, d); buffer.Read(out d); Assert.AreEqual(Double.Epsilon, d); buffer.Read(out d); Assert.AreEqual(Double.MinValue, d); buffer.Read(out d); Assert.AreEqual(Double.MaxValue, d); buffer.Read(out d); Assert.AreEqual(Double.NegativeInfinity, d); buffer.Read(out d); Assert.AreEqual(Double.PositiveInfinity, d); buffer.Read(out d); Assert.AreEqual(Double.NaN, d); buffer.Trim(); // Intermediate value tests buffer.Write(0.00123456789D); buffer.Write(98765.0004321D); buffer.Rewind(); buffer.Read(out d); Assert.AreEqual(0.00123456789D, d); buffer.Read(out d); Assert.AreEqual(98765.0004321D, d); }
public void TestVariableLengthInt64() { var buffer = new Buffer(2); // Boundary value tests buffer.Write(0L); buffer.Write(-1L); buffer.Write(Int64.MaxValue); buffer.Write(Int64.MinValue); buffer.Rewind(); long l, bytes; bytes = buffer.Read(out l); Assert.AreEqual(1, bytes); Assert.AreEqual(0L, l); bytes = buffer.Read(out l); Assert.AreEqual(1, bytes); Assert.AreEqual(-1L, l); bytes = buffer.Read(out l); Assert.AreEqual(10, bytes); Assert.AreEqual(Int64.MaxValue, l); bytes = buffer.Read(out l); Assert.AreEqual(10, bytes); Assert.AreEqual(Int64.MinValue, l); buffer.Trim(); // Intermediate value tests buffer.Write(0x00003f80L >> 1); // 2 buffer.Write(0x001fc000L >> 1); // 3 buffer.Write(0x0fe00000L >> 1); // 4 buffer.Write(0x00000007f0000000L >> 1); // 5 buffer.Write(0x000003f800000000L >> 1); // 6 buffer.Write(0x0001fc0000000000L >> 1); // 7 buffer.Write(0x00fe000000000000L >> 1); // 8 buffer.Write(0x7f00000000000000L >> 1); // 9 buffer.Rewind(); bytes = buffer.Read(out l); Assert.AreEqual(2, bytes); Assert.AreEqual(0x00003f80L >> 1, l); bytes = buffer.Read(out l); Assert.AreEqual(3, bytes); Assert.AreEqual(0x001fc000L >> 1, l); bytes = buffer.Read(out l); Assert.AreEqual(4, bytes); Assert.AreEqual(0x0fe00000L >> 1, l); bytes = buffer.Read(out l); Assert.AreEqual(5, bytes); Assert.AreEqual(0x00000007f0000000L >> 1, l); bytes = buffer.Read(out l); Assert.AreEqual(6, bytes); Assert.AreEqual(0x000003f800000000L >> 1, l); bytes = buffer.Read(out l); Assert.AreEqual(7, bytes); Assert.AreEqual(0x0001fc0000000000L >> 1, l); bytes = buffer.Read(out l); Assert.AreEqual(8, bytes); Assert.AreEqual(0x00fe000000000000L >> 1, l); bytes = buffer.Read(out l); Assert.AreEqual(9, bytes); Assert.AreEqual(0x7f00000000000000L >> 1, l); }
public void TestVariableLengthInt32() { var buffer = new Buffer(2); // Boundary value tests buffer.Write(0); buffer.Write(-1); buffer.Write(Int32.MaxValue); buffer.Write(Int32.MinValue); buffer.Rewind(); int i, bytes; bytes = buffer.Read(out i); Assert.AreEqual(1, bytes); Assert.AreEqual(0, i); bytes = buffer.Read(out i); Assert.AreEqual(1, bytes); Assert.AreEqual(-1, i); bytes = buffer.Read(out i); Assert.AreEqual(5, bytes); Assert.AreEqual(Int32.MaxValue, i); bytes = buffer.Read(out i); Assert.AreEqual(5, bytes); Assert.AreEqual(Int32.MinValue, i); buffer.Trim(); // Intermediate value tests buffer.Write(0x00003f80 >> 1); // 2 buffer.Write(0x001fc000 >> 1); // 3 buffer.Write(0x0fe00000 >> 1); // 4 buffer.Rewind(); bytes = buffer.Read(out i); Assert.AreEqual(2, bytes); Assert.AreEqual(0x00003f80 >> 1, i); bytes = buffer.Read(out i); Assert.AreEqual(3, bytes); Assert.AreEqual(0x001fc000 >> 1, i); bytes = buffer.Read(out i); Assert.AreEqual(4, bytes); Assert.AreEqual(0x0fe00000 >> 1, i); }
public void TestFloat64() { //using (var stream = new MemoryStream()) { double d; var stream = new x2.Buffer(); Serializer serializer = new Serializer(stream); Deserializer deserializer = new Deserializer(stream); // Boundary value tests serializer.Write(0.0); serializer.Write(Double.Epsilon); serializer.Write(Double.MinValue); serializer.Write(Double.MaxValue); serializer.Write(Double.NegativeInfinity); serializer.Write(Double.PositiveInfinity); serializer.Write(Double.NaN); stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); deserializer.Read(out d); Assert.AreEqual(0.0, d); deserializer.Read(out d); Assert.AreEqual(Double.Epsilon, d); deserializer.Read(out d); Assert.AreEqual(Double.MinValue, d); deserializer.Read(out d); Assert.AreEqual(Double.MaxValue, d); deserializer.Read(out d); Assert.AreEqual(Double.NegativeInfinity, d); deserializer.Read(out d); Assert.AreEqual(Double.PositiveInfinity, d); deserializer.Read(out d); Assert.AreEqual(Double.NaN, d); stream.Trim(); //stream.SetLength(0); // Intermediate value tests serializer.Write(0.001234); serializer.Write(8765.4321); stream.Rewind(); //stream.Seek(0, SeekOrigin.Begin); deserializer.Read(out d); Assert.AreEqual(0.001234, d); deserializer.Read(out d); Assert.AreEqual(8765.4321, d); } }