示例#1
0
        public void SerializeThrowsWhenBufferIsWrongSize(long badSize)
        {
            Int64Serializer serializer = new Int64Serializer();

            Assert.ThrowsException <ArgumentException>(() => {
                serializer.Serialize(0, new byte[badSize]);
            });
        }
示例#2
0
        public void SerializeThrowsWhenBufferIsNull()
        {
            Int64Serializer serializer = new Int64Serializer();

            Assert.ThrowsException <ArgumentNullException>(() => {
                serializer.Serialize(0, null);
            });
        }
        public void SerializeAndDeserializeToTheSameObject(long originalValue)
        {
            Serializer <long> serializer = new Int64Serializer();

            byte[] serializedValue   = serializer.Serialize(originalValue);
            long   deserializedValue = serializer.Deserialize(serializedValue);

            Assert.Equal(originalValue, deserializedValue);
        }
示例#4
0
        public void SerializeThenDeserializeWorks(bool littleEndian)
        {
            long[] numbers = new long[] {
                long.MinValue,
                long.MinValue + 1,
                long.MinValue + 2,
                long.MinValue + 3,
                long.MinValue / 2,
                -65537,
                -65536,
                -65535,
                -65534,
                -257,
                -256,
                -255,
                -254
                - 126,
                -127,
                -128
                - 5,
                -4,
                -3,
                -2,
                -1,
                0,
                long.MaxValue,
                long.MaxValue - 1,
                long.MaxValue - 2,
                long.MaxValue - 3,
                long.MaxValue / 2,
                65537,
                65536,
                65535,
                65534,
                257,
                256,
                255,
                254,
                126,
                127,
                128,
                5,
                4,
                3,
                2,
                1,
            };

            Int64Serializer serializer = new Int64Serializer(littleEndian);

            for (long i = 0; i < numbers.Length; i++)
            {
                byte[] buffer = new byte[serializer.DataSize];
                serializer.Serialize(numbers[i], buffer);
                Assert.AreEqual(numbers[i], serializer.Deserialize(buffer));
            }
        }
示例#5
0
 public WKTSerializers(ISerializerStorage serializerStorage, IValueTypeObjectsDictionary objectCache)
 {
     Boolean        = new BooleanSerializer(serializerStorage);
     Byte           = new ByteSerializer(serializerStorage);
     Char           = new CharSerializer(serializerStorage);
     DateTime       = new DateTimeSerializer(serializerStorage);
     DateTimeOffset = new DateTimeOffsetSerializer(serializerStorage);
     Decimal        = new DecimalSerializer(serializerStorage);
     Double         = new DoubleSerializer(serializerStorage);
     Guid           = new GuidSerializer(serializerStorage);
     Int16          = new Int16Serializer(serializerStorage);
     Int32          = new Int32Serializer(serializerStorage);
     Int64          = new Int64Serializer(serializerStorage);
     Object         = new ObjectSerializer(serializerStorage);
     SByte          = new SByteSerializer(serializerStorage);
     Single         = new SingleSerializer(serializerStorage);
     String         = new StringSerializer(serializerStorage, objectCache);
     TimeSpan       = new TimeSpanSerializer(serializerStorage);
     UInt16         = new UInt16Serializer(serializerStorage);
     UInt32         = new UInt32Serializer(serializerStorage);
 }
        public void ShouldThrowIfDeserializingLessThanEightBytes(byte[] data)
        {
            Serializer <long> serializer = new Int64Serializer();

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data));
        }
        public void ShouldThrowIfDeserializingNull()
        {
            Serializer <long> serializer = new Int64Serializer();

            Assert.Throws <ArgumentNullException>(() => serializer.Deserialize(null));
        }
示例#8
0
        public void ConstructorWorks(bool littleEndian)
        {
            Int64Serializer serializer = new Int64Serializer(littleEndian);

            Assert.AreEqual(littleEndian, serializer.StoreAsLittleEndian);
        }