Beispiel #1
0
        public void DictionarySerializeNested()
        {
            var serialized = LightWeight.Serialize(new Dictionary <UInt32, Dictionary <UInt32, String> > {
                {
                    1, new Dictionary <UInt32, String> {
                        { 2, "cake" },
                        { 3, "food" }
                    }
                }, {
                    2, new Dictionary <UInt32, String> {
                        { 4, "fork" },
                        { 5, "food" }
                    }
                }
            });

            Assert.Equal(new Byte[] {
                0x03,                                             // HEADER Count=2
                0x01,                                             // 1=U
                0x03,                                             //     HEADER Count=2
                0x02,                                             //     2=
                0x05, (Byte)'c', (Byte)'a', (Byte)'k', (Byte)'e', // cake
                0x03,                                             //     3=
                0x05, (Byte)'f', (Byte)'o', (Byte)'o', (Byte)'d', // food
                0x02,                                             // 2=
                0x03,                                             //     HEADER Count=2
                0x04,                                             //     4=
                0x05, (Byte)'f', (Byte)'o', (Byte)'r', (Byte)'k', // fork
                0x05,                                             //     5=
                0x05, (Byte)'f', (Byte)'o', (Byte)'o', (Byte)'d', // food
            }.ToHexString(), serialized.ToHexString());
        }
Beispiel #2
0
        public void FloorSerializeMin()
        {
            var encoded = LightWeight.Serialize(new One()
            {
                U8  = 5,
                U16 = 5,
                U32 = 5,
                U64 = 5,
                S8  = 5,
                S16 = 5,
                S32 = 5,
                S64 = 5
            });

            Assert.Equal(new Byte[] {
                0x09,  // HEADER Length=8
                0x00,  // [U8]=5
                0x00,  // [U16]=5
                0x00,  // [U32]=5
                0x00,  // [U64]=5
                0x00,  // [S8]=5
                0x00,  // [S16]=5
                0x00,  // [S32]=5
                0x00,  // [S64]=5
            }.ToHexString(), encoded.ToHexString());
        }
Beispiel #3
0
        public void FloorSerializeMinPlus1()
        {
            var encoded = LightWeight.Serialize(new One()
            {
                U8  = 6,
                U16 = 6,
                U32 = 6,
                U64 = 6,
                S8  = 6,
                S16 = 6,
                S32 = 6,
                S64 = 6
            });

            Assert.Equal(new Byte[] {
                0x09,  // HEADER Length=8
                0x01,  // [U8]=6
                0x01,  // [U16]=6
                0x01,  // [U32]=6
                0x01,  // [U64]=6
                0x01,  // [S8]=6  TODO: need to check this value is correct
                0x02,  // [S16]=6
                0x02,  // [S32]=6
                0x02,  // [S64]=6
            }.ToHexString(), encoded.ToHexString());
        }
Beispiel #4
0
        public void ListSerializeEmpty()
        {
            var encoded = LightWeight.Serialize(new List <Int32>());

            Assert.Equal(new Byte[] {
                0x01 // HEADER Count=0
            }, encoded);
        }
Beispiel #5
0
        public void ArrayDeserializeEmpty()
        {
            var result = LightWeight.Deserialize <Int32[]>(new Byte[] {
                0x01 // HEADER Count=0
            });

            Assert.Equal(new Int32[] { }, result);
        }
Beispiel #6
0
        public void ListDeserializeNull()
        {
            var result = LightWeight.Deserialize <List <Int32> >(new Byte[] {
                0x00 // HEADER Null
            });

            Assert.Null(result);
        }
Beispiel #7
0
        public void DictionaryDeserializeEmpty()
        {
            var decoded = LightWeight.Deserialize <Dictionary <Int32, String> >(new Byte[] {
                0x01 // HEADER Count=0
            });

            Assert.Equal(new Dictionary <Int32, String>(), decoded);
        }
Beispiel #8
0
        public void DictionaryDeserializeNull()
        {
            var decoded = LightWeight.Deserialize <Dictionary <Int32, String> >(new Byte[] {
                0x00 // HEADER NULL
            });

            Assert.Null(decoded);
        }
Beispiel #9
0
        public void ListSerializeNull()
        {
            var encoded = LightWeight.Serialize <List <Int32> >(null);

            Assert.Equal(new Byte[] {
                0x00 // HEADER Null
            }, encoded);
        }
Beispiel #10
0
        public void DictionarySerializeNull()
        {
            var encoded = LightWeight.Serialize <Dictionary <Int32, String> >(null);

            Assert.Equal(new Byte[] {
                0x00 // HEADER NULL
            }, encoded);
        }
Beispiel #11
0
        public void ArraySerializeNull1()
        {
            var encoded = LightWeight.Serialize <Boolean[]>(null);

            Assert.Equal(new Byte[] {
                0x00 // HEADER NULL
            }, encoded);
        }
Beispiel #12
0
        public void DictionarySerializeEmpty()
        {
            var encoded = LightWeight.Serialize(new Dictionary <Int32, String>());

            Assert.Equal(new Byte[] {
                0x01 // HEADER Count=0
            }, encoded);
        }
Beispiel #13
0
        public void ArrayDeserializeNull1()
        {
            var result = LightWeight.Deserialize <Boolean[]>(new Byte[] {
                0x00 // HEADER NULL
            });

            Assert.Null(result);
        }
Beispiel #14
0
        public void ClassDeserializeNull()
        {
            var decoded = LightWeight.Deserialize <One>(new Byte[] {
                0x00  // HEADER NULL
            });

            Assert.Null(decoded);
        }
Beispiel #15
0
        public void ClassSerializeNull()
        {
            var encoded = LightWeight.Serialize <One>(null);

            Assert.Equal(new Byte[] {
                0x00  // HEADER NULL
            }, encoded);
        }
Beispiel #16
0
        public void ArraySerializeEmpty()
        {
            var encoded = LightWeight.Serialize(new Int32[] { });

            Assert.Equal(new Byte[] {
                0x01 // HEADER Count=0
            }, encoded);
        }
Beispiel #17
0
        public void ArraySerializeNull2()
        {
            var encoded = LightWeight.Serialize(new ArrayNullClass());

            Assert.Equal(new Byte[] {
                0x02, // HEADER Length=1
                0x00  //     HEADER NULL
            }, encoded);
        }
Beispiel #18
0
        public void ArrayDeserializeNull2()
        {
            var result = LightWeight.Deserialize <ArrayNullClass>(new Byte[] {
                0x02, // HEADER Length=1
                0x00  // HEADER NULL
            });

            Assert.Null(result.B);
        }
Beispiel #19
0
        public void ListDeserializeEmpty()
        {
            var result = LightWeight.Deserialize <List <Int32> >(new Byte[] {
                0x01 // HEADER Count=0
            });

            Assert.Equal(new List <Int32> {
            }, result);
        }
Beispiel #20
0
        public void ClassDeserializeEmpty()
        {
            var encoded = LightWeight.Deserialize <NoIndexs>(new Byte[] {
                0x01  // HEADER Length=0
            });

            Assert.Equal((UInt32)0, encoded.A);
            Assert.Equal((UInt32)0, encoded.B);
            Assert.Equal((UInt32)0, encoded.C);
        }
Beispiel #21
0
 public void FloorSerializeUnsupported()
 {
     Assert.Throws <UnsupportedDataTypeException>(() =>
     {
         LightWeight.Serialize(new Unsupported()
         {
             ValueString = "asdf"
         });
     });
 }
Beispiel #22
0
 public void FloorDeserializeUnsupported()
 {
     Assert.Throws <UnsupportedDataTypeException>(() =>
     {
         LightWeight.Deserialize <Unsupported>(new Byte[] {
             0x02,     // HEADER Length=1
             0x01,     // [Value]=6
         });
     });
 }
Beispiel #23
0
        public void ArrayDeserializeBoolean()
        {
            var result = LightWeight.Deserialize <Boolean[]>(new Byte[] {
                0x04, // HEADER Count=3
                0x01, // [0]=true
                0x01, // [1]=true
                0x00  // [2]=false
            });

            Assert.Equal(new[] { true, true, false }, result);
        }
Beispiel #24
0
        public void ArrayDeserializeSInt32()
        {
            var result = LightWeight.Deserialize <UInt32[]>(new Byte[] {
                0x04,      // HEADER Count=3
                0x01,      // [0]=1
                0x02,      // [1]=2
                0xE8, 0x06 // [3]=1000
            });

            Assert.Equal(new UInt32[] { 1, 2, 1000 }, result);
        }
Beispiel #25
0
        public void ArraySerializeBoolean()
        {
            var serialized = LightWeight.Serialize(new[] { true, true, false });

            Assert.Equal(new Byte[] {
                0x04, // HEADER Length=3
                0x01, // [0]=true
                0x01, // [1]=true,
                0x00  // [2]=false
            }, serialized);
        }
Beispiel #26
0
        public void ArraySerializeSInt32()
        {
            var serialized = LightWeight.Serialize(new UInt32[] { 1, 2, 1000 });

            Assert.Equal(new Byte[] {
                0x04,      // HEADER Count=3
                0x01,      // [0]=1
                0x02,      // [1]=2
                0xE8, 0x06 // [2]=1000
            }, serialized);
        }
Beispiel #27
0
        public void SerializeDeserialize_Int32_Neg1000_1000()
        {
            var lw = new LightWeight();

            for (var input = -10000; input < 10000; input++)
            {
                var encoded = lw.Encode(input);

                var output = lw.Decode <Int32>(encoded);
                Assert.Equal(input, output);
            }
        }
Beispiel #28
0
        public void ListDeserializeInt32()
        {
            var result = LightWeight.Deserialize <List <UInt32> >(new Byte[] {
                0x04,      // HEADER Count=3
                0x01,      // [0]=1,
                0x02,      // [1]=2,
                0xE8, 0x06 // [2]=1000
            });

            Assert.Equal(new List <UInt32> {
                1, 2, 1000
            }, result);
        }
Beispiel #29
0
        public void ListSerializeInt32()
        {
            var encoded = LightWeight.Serialize(new List <UInt32> {
                1, 2, 1000
            });

            Assert.Equal(new Byte[] {
                0x04,      // HEADER Count=3
                0x01,      // [0]=1,
                0x02,      // [1]=2,
                0xE8, 0x06 // [2]=1000
            }, encoded);
        }
Beispiel #30
0
        public void ClassSerializeEmpty()
        {
            var encoded = LightWeight.Serialize(new NoIndexs
            {
                A = 1,
                B = 9,
                C = 1000
            });

            Assert.Equal(new Byte[] {
                0x01  // HEADER Length=0
            }, encoded);
        }