Ejemplo n.º 1
0
        public void RoundTripSByte()
        {
            Check(0);
            Check(1);
            Check(-1);
            Check(10);
            Check(-10);
            Check(sbyte.MaxValue);
            Check(sbyte.MinValue);
            // those would fit in an Int16, but don't fit in an SByte:
            //Check(byte.MaxValue);
            //Check(short.MaxValue);
            //Check(short.MinValue);
            for (int i = 0; i < 15; ++i)
            {
                Check(GetRandom <sbyte>());
            }

            void Check(SByte toWrite)
            {
                Array.Clear(buffer, 0, buffer.Length);
                var sbe = new SpanBinaryEditor(buffer);

                sbe.WriteSbyte(toWrite);
                sbe.Seek(0, SeekOrigin.Begin);
                SByte actual = sbe.ReadSbyte();

                CheckEquality(toWrite, actual);

                stream.Seek(0, SeekOrigin.Begin);
                CheckEquality(toWrite, binary.ReadSByte());
            }
        }