public void IntArrayTest4()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(int), typeof(int[]));
            DescriberProvider provider = new DescriberProvider(finder.KeyDescriber, finder);


            Serializer ser = new Serializer(provider);

            int[] ints = new[]
            {
                4,
                46,
                6,
                8,
                8,
                4,
                32,
                323,
                78
            };
            byte[] buffer = ser.ObjectToBuffer(ints);
            int[]  value  = (int[])ser.BufferToObject(buffer);


            Xunit.Assert.Equal(46, value[1]);
            Xunit.Assert.Equal(323, value[7]);
        }
        public void NumberTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(byte), typeof(short), typeof(int), typeof(long), typeof(TEST1));
            DescriberProvider provider = new DescriberProvider(finder.KeyDescriber, finder);


            Serializer ser = new Serializer(provider);

            byte[] byteBuffer = ser.ObjectToBuffer((byte)128);
            byte   byteValue  = (byte)ser.BufferToObject(byteBuffer);

            byte[] shortBuffer = ser.ObjectToBuffer((short)16387);
            short  shortValue  = (short)ser.BufferToObject(shortBuffer);

            byte[] intBuffer = ser.ObjectToBuffer((int)65535);
            int    intValue  = (int)ser.BufferToObject(intBuffer);

            byte[] longBuffer = ser.ObjectToBuffer((long)65535000);
            long   longValue  = (long)ser.BufferToObject(longBuffer);

            byte[] enumBuffer = ser.ObjectToBuffer(TEST1.C);
            TEST1  enumValue  = (TEST1)ser.BufferToObject(enumBuffer);

            Xunit.Assert.Equal((byte)128, byteValue);
            Xunit.Assert.Equal((short)16387, shortValue);
            Xunit.Assert.Equal((int)65535, intValue);
            Xunit.Assert.Equal((long)65535000, longValue);
            Xunit.Assert.Equal(TEST1.C, enumValue);
        }
        public void NumberFloatTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(float), typeof(float[]));
            DescriberProvider provider = new DescriberProvider(finder);


            Serializer ser = new Serializer(provider);

            float[] ints = new[]
            {
                4f,
                46f,
                6f,
                8f,
                8f,
                4f,
                32f,
                323f,
                78f
            };
            byte[]  buffer = ser.ObjectToBuffer(ints);
            float[] value  = (float[])ser.BufferToObject(buffer);


            Xunit.Assert.Equal(46f, value[1]);
            Xunit.Assert.Equal(323f, value[7]);
        }
        public void ClassArrayTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(int), typeof(TestClassB), typeof(TestClassB[]));
            DescriberProvider provider = new DescriberProvider(finder.KeyDescriber, finder);


            Serializer ser = new Serializer(provider);

            TestClassB[] testbs = new[]
            {
                null,
                new TestClassB()
                {
                    Data = 1
                },
                null,
                new TestClassB()
                {
                    Data = 3
                },
                null,
            };

            byte[]       buffer = ser.ObjectToBuffer(testbs);
            TestClassB[] value  = ser.BufferToObject(buffer) as TestClassB[];

            Xunit.Assert.Equal(null, value[0]);
            Xunit.Assert.Equal(1, value[1].Data);
            Xunit.Assert.Equal(null, value[2]);
            Xunit.Assert.Equal(3, value[3].Data);
            Xunit.Assert.Equal(null, value[4]);
        }
示例#5
0
        public void ByteArray2Test()
        {
            var bytes = new byte[]
            {
                0x5,
                97,
                2,
                92,
                9,
                113,
                2,
                4,
                7,
                6,
                9,
                255,
                0
            };

            var finder   = new DescribersFinder(typeof(byte[]), typeof(int));
            var provider = new DescriberProvider(finder);



            var ser = new Serializer(provider);

            var buffer = ser.ObjectToBuffer(bytes);
            var result = ser.BufferToObject(buffer) as byte[];

            NUnit.Framework.Assert.AreEqual(bytes[3], result[3]);
            NUnit.Framework.Assert.AreEqual(bytes[1], result[1]);
            NUnit.Framework.Assert.AreEqual(bytes[8], result[8]);
            NUnit.Framework.Assert.AreEqual(bytes[9], result[9]);
        }
示例#6
0
        public void ClassArrayTest()
        {
            var finder   = new DescribersFinder(typeof(int), typeof(TestClassB), typeof(TestClassB[]));
            var provider = new DescriberProvider(finder.KeyDescriber, finder);


            var ser    = new Serializer(provider);
            var testbs = new[]
            {
                null,
                new TestClassB()
                {
                    Data = 1
                },
                null,
                new TestClassB()
                {
                    Data = 3
                },
                null,
            };

            var buffer = ser.ObjectToBuffer(testbs);
            var value  = ser.BufferToObject(buffer) as TestClassB[];

            NUnit.Framework.Assert.AreEqual(null, value[0]);
            NUnit.Framework.Assert.AreEqual(1, value[1].Data);
            NUnit.Framework.Assert.AreEqual(null, value[2]);
            NUnit.Framework.Assert.AreEqual(3, value[3].Data);
            NUnit.Framework.Assert.AreEqual(null, value[4]);
        }
示例#7
0
        public void IntArrayTest4()
        {
            var finder   = new DescribersFinder(typeof(int), typeof(int[]));
            var provider = new DescriberProvider(finder.KeyDescriber, finder);


            var ser = new Serializer(provider);

            var ints = new[]
            {
                4,
                46,
                6,
                8,
                8,
                4,
                32,
                323,
                78
            };
            var buffer = ser.ObjectToBuffer(ints);
            var value  = (int[])ser.BufferToObject(buffer);


            NUnit.Framework.Assert.AreEqual(46, value[1]);
            NUnit.Framework.Assert.AreEqual(323, value[7]);
        }
        public void ByteArray2Test()
        {
            byte[] bytes = new byte[]
            {
                0x5,
                97,
                2,
                92,
                9,
                113,
                2,
                4,
                7,
                6,
                9,
                255,
                0
            };

            DescribersFinder  finder   = new DescribersFinder(typeof(byte[]), typeof(int));
            DescriberProvider provider = new DescriberProvider(finder);



            Serializer ser = new Serializer(provider);

            byte[] buffer = ser.ObjectToBuffer(bytes);
            byte[] result = ser.BufferToObject(buffer) as byte[];

            Xunit.Assert.Equal(bytes[3], result[3]);
            Xunit.Assert.Equal(bytes[1], result[1]);
            Xunit.Assert.Equal(bytes[8], result[8]);
            Xunit.Assert.Equal(bytes[9], result[9]);
        }
        public void ClassArrayHaveNullTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(TestClassC), typeof(TestClassC[]));
            DescriberProvider provider = new DescriberProvider(finder);



            Serializer ser = new Serializer(provider);

            TestClassC[] cs = new TestClassC[]
            {
                null,
                new TestClassC(),
                null
            };


            byte[]       buffer = ser.ObjectToBuffer(cs);
            TestClassC[] value  = ser.BufferToObject(buffer) as TestClassC[];


            Xunit.Assert.Equal(cs[0], value[0]);
            Xunit.Assert.NotEqual(null, value[1]);
            Xunit.Assert.Equal(cs[2], value[2]);
        }
示例#10
0
        public void NumberFloatTest()
        {
            var finder   = new DescribersFinder(typeof(float), typeof(float[]));
            var provider = new DescriberProvider(finder);


            var ser = new Serializer(provider);

            var ints = new[]
            {
                4f,
                46f,
                6f,
                8f,
                8f,
                4f,
                32f,
                323f,
                78f
            };
            var buffer = ser.ObjectToBuffer(ints);
            var value  = (float[])ser.BufferToObject(buffer);


            NUnit.Framework.Assert.AreEqual(46f, value[1]);
            NUnit.Framework.Assert.AreEqual(323f, value[7]);
        }
示例#11
0
        public void ClassArrayHaveNullTest()
        {
            var finder   = new DescribersFinder(typeof(TestClassC), typeof(TestClassC[]));
            var provider = new DescriberProvider(finder);



            var ser = new Serializer(provider);

            var cs = new TestClassC[]
            {
                null,
                new TestClassC(),
                null
            };


            var buffer = ser.ObjectToBuffer(cs);
            var value  = ser.BufferToObject(buffer) as TestClassC[];


            NUnit.Framework.Assert.AreEqual(cs[0], value[0]);
            NUnit.Framework.Assert.AreNotEqual(null, value[1]);
            NUnit.Framework.Assert.AreEqual(cs[2], value[2]);
        }
示例#12
0
        public void NumberTest()
        {
            var finder   = new DescribersFinder(typeof(byte), typeof(short), typeof(int), typeof(long), typeof(TEST1));
            var provider = new DescriberProvider(finder.KeyDescriber, finder);


            var ser = new Serializer(provider);

            var byteBuffer = ser.ObjectToBuffer((byte)128);
            var byteValue  = (byte)ser.BufferToObject(byteBuffer);

            var shortBuffer = ser.ObjectToBuffer((short)16387);
            var shortValue  = (short)ser.BufferToObject(shortBuffer);

            var intBuffer = ser.ObjectToBuffer((int)65535);
            var intValue  = (int)ser.BufferToObject(intBuffer);

            var longBuffer = ser.ObjectToBuffer((long)65535000);
            var longValue  = (long)ser.BufferToObject(longBuffer);

            var enumBuffer = ser.ObjectToBuffer(TEST1.C);
            var enumValue  = (TEST1)ser.BufferToObject(enumBuffer);

            NUnit.Framework.Assert.AreEqual((byte)128, byteValue);
            NUnit.Framework.Assert.AreEqual((short)16387, shortValue);
            NUnit.Framework.Assert.AreEqual((int)65535, intValue);
            NUnit.Framework.Assert.AreEqual((long)65535000, longValue);
            NUnit.Framework.Assert.AreEqual(TEST1.C, enumValue);
        }
示例#13
0
        public void NegativeLongNumberTest()
        {
            var finder   = new DescribersFinder(typeof(long), typeof(uint));
            var provider = new DescriberProvider(finder.KeyDescriber, finder);
            var ser      = new Serializer(provider);
            var buf      = ser.ObjectToBuffer((long)-1);
            var val      = (long)ser.BufferToObject(buf);

            Assert.AreEqual(-1, val);
        }
示例#14
0
        public void NegativeIntNumberTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(int), typeof(uint));
            DescriberProvider provider = new DescriberProvider(finder.KeyDescriber, finder);
            Serializer        ser      = new Serializer(provider);

            byte[] buf = ser.ObjectToBuffer((int)-1);
            int    val = (int)ser.BufferToObject(buf);

            Assert.Equal(-1, val);
        }
示例#15
0
        public void StructFloatTest()
        {
            var finder   = new DescribersFinder(typeof(float));
            var provider = new DescriberProvider(finder);

            var ser = new Serializer(provider);

            var buffer = ser.ObjectToBuffer(123.43f);
            var value  = (float)ser.BufferToObject(buffer);

            NUnit.Framework.Assert.AreEqual(123.43f, value);
        }
示例#16
0
        public void StructFloatTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(float));
            DescriberProvider provider = new DescriberProvider(finder);

            Serializer ser = new Serializer(provider);

            byte[] buffer = ser.ObjectToBuffer(123.43f);
            float  value  = (float)ser.BufferToObject(buffer);

            Xunit.Assert.Equal(123.43f, value);
        }
示例#17
0
        public void ClassNullTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(TestClassC), typeof(TestClassC[]));
            DescriberProvider provider = new DescriberProvider(finder);

            Serializer ser = new Serializer(provider);

            byte[]       buffer = ser.ObjectToBuffer(null);
            TestClassC[] value  = ser.BufferToObject(buffer) as TestClassC[];


            Xunit.Assert.Equal(null, value);
        }
示例#18
0
        public void GuidTest()
        {
            var finder   = new DescribersFinder(typeof(Guid), typeof(Guid[]));
            var provider = new DescriberProvider(finder);

            var ser = new Serializer(provider);

            var id     = Guid.NewGuid();
            var buffer = ser.ObjectToBuffer(id);
            var value  = (Guid)ser.BufferToObject(buffer);

            NUnit.Framework.Assert.AreEqual(id, value);
        }
示例#19
0
        public void ClassNullTest()
        {
            var finder   = new DescribersFinder(typeof(TestClassC), typeof(TestClassC[]));
            var provider = new DescriberProvider(finder);

            var ser = new Serializer(provider);

            var buffer = ser.ObjectToBuffer(null);
            var value  = ser.BufferToObject(buffer) as TestClassC[];


            NUnit.Framework.Assert.AreEqual(null, value);
        }
示例#20
0
        public void ClassTest()
        {
            var finder   = new DescribersFinder(typeof(int), typeof(TestClassB));
            var provider = new DescriberProvider(finder.KeyDescriber, finder);

            var ser   = new Serializer(provider);
            var testb = new TestClassB();

            testb.Data = 1234;
            var buffer = ser.ObjectToBuffer(testb);
            var value  = ser.BufferToObject(buffer) as TestClassB;

            NUnit.Framework.Assert.AreEqual(testb.Data, value.Data);
        }
示例#21
0
        public void GuidTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(Guid), typeof(Guid[]));
            DescriberProvider provider = new DescriberProvider(finder);

            Serializer ser = new Serializer(provider);

            Guid id = Guid.NewGuid();

            byte[] buffer = ser.ObjectToBuffer(id);
            Guid   value  = (Guid)ser.BufferToObject(buffer);

            Xunit.Assert.Equal(id, value);
        }
示例#22
0
        public void ClassTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(int), typeof(TestClassB));
            DescriberProvider provider = new DescriberProvider(finder.KeyDescriber, finder);

            Serializer ser   = new Serializer(provider);
            TestClassB testb = new TestClassB();

            testb.Data = 1234;
            byte[]     buffer = ser.ObjectToBuffer(testb);
            TestClassB value  = ser.BufferToObject(buffer) as TestClassB;

            Xunit.Assert.Equal(testb.Data, value.Data);
        }
示例#23
0
        public void StringCharArrayStructTest()
        {
            var finder   = new DescribersFinder(typeof(char[]));
            var provider = new DescriberProvider(finder);

            var ser    = new Serializer(provider);
            var str    = "asdfgh";
            var buffer = ser.ObjectToBuffer(str.ToCharArray());
            var value  = (char[])ser.BufferToObject(buffer);

            NUnit.Framework.Assert.AreEqual('a', value[0]);
            NUnit.Framework.Assert.AreEqual('s', value[1]);
            NUnit.Framework.Assert.AreEqual('d', value[2]);
            NUnit.Framework.Assert.AreEqual('f', value[3]);
        }
示例#24
0
        public void UlongTest()
        {
            var finder   = new DescribersFinder(typeof(ulong));
            var provider = new DescriberProvider(finder.KeyDescriber, finder);



            var ser = new Serializer(provider);

            var buffer = ser.ObjectToBuffer(1UL);

            var value = ser.BufferToObject(buffer);

            NUnit.Framework.Assert.AreEqual(1UL, value);
        }
示例#25
0
        public void UlongTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(ulong));
            DescriberProvider provider = new DescriberProvider(finder.KeyDescriber, finder);



            Serializer ser = new Serializer(provider);

            byte[] buffer = ser.ObjectToBuffer(1UL);

            object value = ser.BufferToObject(buffer);

            Xunit.Assert.Equal(1UL, value);
        }
示例#26
0
        public void CharArrayTest()
        {
            var finder   = new DescribersFinder(typeof(char), typeof(char[]));
            var provider = new DescriberProvider(finder);


            var ser = new Serializer(provider);


            var str    = new char[] { 'd', 'a' };
            var buffer = ser.ObjectToBuffer(str);
            var value  = ser.BufferToObject(buffer) as char[];

            NUnit.Framework.Assert.AreEqual(str[0], value[0]);
            NUnit.Framework.Assert.AreEqual(str[1], value[1]);
        }
示例#27
0
        public void StringTest()
        {
            var finder   = new DescribersFinder(typeof(string), typeof(char), typeof(char[]));
            var provider = new DescriberProvider(finder);



            var ser = new Serializer(provider);


            var str    = "fliwjfo3f3fnmsdlgmnlgrkmbr'nhmlredhgnedra'lngh";
            var buffer = ser.ObjectToBuffer(str);
            var value  = ser.BufferToObject(buffer) as string;

            NUnit.Framework.Assert.AreEqual(str, value);
        }
示例#28
0
        public void CharArrayTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(char), typeof(char[]));
            DescriberProvider provider = new DescriberProvider(finder);


            Serializer ser = new Serializer(provider);


            char[] str    = new char[] { 'd', 'a' };
            byte[] buffer = ser.ObjectToBuffer(str);
            char[] value  = ser.BufferToObject(buffer) as char[];

            Xunit.Assert.Equal(str[0], value[0]);
            Xunit.Assert.Equal(str[1], value[1]);
        }
示例#29
0
        public void StringCharArrayStructTest()
        {
            DescribersFinder  finder   = new DescribersFinder(typeof(char[]));
            DescriberProvider provider = new DescriberProvider(finder);

            Serializer ser = new Serializer(provider);
            string     str = "asdfgh";

            byte[] buffer = ser.ObjectToBuffer(str.ToCharArray());
            char[] value  = (char[])ser.BufferToObject(buffer);

            Xunit.Assert.Equal('a', value[0]);
            Xunit.Assert.Equal('s', value[1]);
            Xunit.Assert.Equal('d', value[2]);
            Xunit.Assert.Equal('f', value[3]);
        }
示例#30
0
        public void ByteArrayStructTest()
        {
            var finder   = new DescribersFinder(typeof(byte[]));
            var provider = new DescriberProvider(finder);


            var ser = new Serializer(provider);

            var buffer = ser.ObjectToBuffer(new byte[] { 1, 2, 3, 4, 5, 6 });
            var value  = (byte[])ser.BufferToObject(buffer);

            NUnit.Framework.Assert.AreEqual(1, value[0]);
            NUnit.Framework.Assert.AreEqual(2, value[1]);
            NUnit.Framework.Assert.AreEqual(3, value[2]);
            NUnit.Framework.Assert.AreEqual(4, value[3]);
        }