Пример #1
0
        public void ToTypedRow_Lists_FromString_Single()
        {
            var str = @"{Single: 123.456, SingleList: [3.4028E+38, 0, -3.402E+38], SingleNList: [null, 0, 3.4028]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(123.456F, row.Single);

            Assert.IsNotNull(row.SingleList);
            Assert.AreEqual(3, row.SingleList.Count);
            Assert.AreEqual(3.4028E+38F, row.SingleList[0]);
            Assert.AreEqual(0, row.SingleList[1]);
            Assert.AreEqual(-3.402E+38F, row.SingleList[2]);

            Assert.IsNotNull(row.SingleNList);
            Assert.AreEqual(3, row.SingleNList.Count);
            Assert.AreEqual(null, row.SingleNList[0]);
            Assert.AreEqual(0, row.SingleNList[1]);
            Assert.AreEqual(3.4028F, row.SingleNList[2]);
        }
Пример #2
0
        public void ToTypedRow_Lists_FromString_SBytes()
        {
            var str = @"{Int8: -56, Int8List: [-1, 0, 127], Int8NList: [null, 0, 127]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(-56, row.Int8);

            Assert.IsNotNull(row.Int8List);
            Assert.AreEqual(3, row.Int8List.Count);
            Assert.AreEqual(-1, row.Int8List[0]);
            Assert.AreEqual(0, row.Int8List[1]);
            Assert.AreEqual(127, row.Int8List[2]);

            Assert.IsNotNull(row.Int8NList);
            Assert.AreEqual(3, row.Int8NList.Count);
            Assert.AreEqual(null, row.Int8NList[0]);
            Assert.AreEqual(0, row.Int8NList[1]);
            Assert.AreEqual(127, row.Int8NList[2]);
        }
Пример #3
0
        public void ToTypedRow_Lists_FromString_Shorts()
        {
            var str = @"{Int16: 12345, Int16List: [32767, 0, -32768], Int16NList: [null, 0, 32767]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(12345, row.Int16);

            Assert.IsNotNull(row.Int16List);
            Assert.AreEqual(3, row.Int16List.Count);
            Assert.AreEqual(short.MaxValue, row.Int16List[0]);
            Assert.AreEqual(0, row.Int16List[1]);
            Assert.AreEqual(short.MinValue, row.Int16List[2]);

            Assert.IsNotNull(row.Int16NList);
            Assert.AreEqual(3, row.Int16NList.Count);
            Assert.AreEqual(null, row.Int16NList[0]);
            Assert.AreEqual(0, row.Int16NList[1]);
            Assert.AreEqual(short.MaxValue, row.Int16NList[2]);
        }
Пример #4
0
        public void ToTypedRow_Lists_FromString_Long()
        {
            var str = @"{Int64: 123, Int64List: [9223372036854775807, 0, -9223372036854775808], Int64NList: [null, 0, 9223372036854775807]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(123, row.Int64);

            Assert.IsNotNull(row.Int64List);
            Assert.AreEqual(3, row.Int64List.Count);
            Assert.AreEqual(long.MaxValue, row.Int64List[0]);
            Assert.AreEqual(0, row.Int64List[1]);
            Assert.AreEqual(long.MinValue, row.Int64List[2]);

            Assert.IsNotNull(row.Int64NList);
            Assert.AreEqual(3, row.Int64NList.Count);
            Assert.AreEqual(null, row.Int64NList[0]);
            Assert.AreEqual(0, row.Int64NList[1]);
            Assert.AreEqual(long.MaxValue, row.Int64NList[2]);
        }
Пример #5
0
        public void ToTypedRow_Lists_FromString_Row()
        {
            var str =
            @"{
                Row: { Name: ""Ivan"", Int32List: [1, 0, -12345] },
                RowList:
                    [
                        { Name: ""John"", Int8: 123 },
                        { Name: ""Anna"", Single: 123.567 }
                    ]
            }";

            var row = new RowWithLists();
            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.IsNotNull(row.Row);
            Assert.AreEqual("Ivan", row.Row.Name);
            Assert.IsNotNull(row.Row.Int32List);
            Assert.AreEqual(3, row.Row.Int32List.Count);
            Assert.AreEqual(1, row.Row.Int32List[0]);
            Assert.AreEqual(0, row.Row.Int32List[1]);
            Assert.AreEqual(-12345, row.Row.Int32List[2]);

            Assert.IsNotNull(row.RowList);
            Assert.AreEqual(2, row.RowList.Count);
            Assert.IsNotNull(row.RowList[0]);
            Assert.AreEqual("John", row.RowList[0].Name);
            Assert.AreEqual(123, row.RowList[0].Int8);
            Assert.IsNotNull(row.RowList[1]);
            Assert.AreEqual("Anna", row.RowList[1].Name);
            Assert.AreEqual(123.567F, row.RowList[1].Single);
        }
Пример #6
0
        public void ToTypedRow_Lists_FromString_Guid()
        {
            var guid1 = Guid.NewGuid();
            var guid2 = Guid.NewGuid();
            var guid3 = Guid.NewGuid();
            var str = "{" + @"Guid: ""{0}"", GuidList: [""{0}"", ""{1}"", ""{2}""], GuidNList: [""{0}"", null, ""{2}""]".Args(guid1, guid2, guid3) + "}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(guid1, row.Guid);

            Assert.IsNotNull(row.GuidList);
            Assert.AreEqual(3, row.GuidList.Count);
            Assert.AreEqual(guid1, row.GuidList[0]);
            Assert.AreEqual(guid2, row.GuidList[1]);
            Assert.AreEqual(guid3, row.GuidList[2]);

            Assert.IsNotNull(row.GuidNList);
            Assert.AreEqual(3, row.GuidNList.Count);
            Assert.AreEqual(guid1, row.GuidNList[0]);
            Assert.AreEqual(null, row.GuidNList[1]);
            Assert.AreEqual(guid3, row.GuidNList[2]);
        }
Пример #7
0
        public void ToTypedRow_Lists_FromString_Int()
        {
            var str = @"{Int32: 123, Int32List: [2147483647, 0, -2147483648], Int32NList: [null, 0, 2147483647]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(123, row.Int32);

            Assert.IsNotNull(row.Int32List);
            Assert.AreEqual(3, row.Int32List.Count);
            Assert.AreEqual(int.MaxValue, row.Int32List[0]);
            Assert.AreEqual(0, row.Int32List[1]);
            Assert.AreEqual(int.MinValue, row.Int32List[2]);

            Assert.IsNotNull(row.Int32NList);
            Assert.AreEqual(3, row.Int32NList.Count);
            Assert.AreEqual(null, row.Int32NList[0]);
            Assert.AreEqual(0, row.Int32NList[1]);
            Assert.AreEqual(int.MaxValue, row.Int32NList[2]);
        }
Пример #8
0
        public void ToTypedRow_Lists_FromString_Double()
        {
            var str = @"{Double: 123.456, DoubleList: [1.79769E+308, 0, -1.7976931E+308], DoubleNList: [null, 0, 3.482347E+38]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(123.456D, row.Double);

            Assert.IsNotNull(row.DoubleList);
            Assert.AreEqual(3, row.DoubleList.Count);
            Assert.AreEqual(1.79769E+308, row.DoubleList[0]);
            Assert.AreEqual(0, row.DoubleList[1]);
            Assert.AreEqual(-1.7976931E+308, row.DoubleList[2]);

            Assert.IsNotNull(row.DoubleNList);
            Assert.AreEqual(3, row.DoubleNList.Count);
            Assert.AreEqual(null, row.DoubleNList[0]);
            Assert.AreEqual(0, row.DoubleNList[1]);
            Assert.AreEqual(3.482347E+38, row.DoubleNList[2]);
        }
Пример #9
0
        public void ToTypedRow_Lists_FromString_GDID()
        {
            var gdid1 = new GDID(4000000000, 8000000000);
            var gdid2 = new GDID(100002, 1, 8000000000);
            var gdid3 = new GDID(123, 123456789);
            var str = @"{" + @"GDID: ""{0}"", GDIDList: [""{0}"", ""{1}"", ""{2}""], GDIDNList: [""{0}"", null, ""{2}""]".Args(gdid1, gdid2, gdid3) + "}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(gdid1, row.GDID);

            Assert.IsNotNull(row.GDIDList);
            Assert.AreEqual(3, row.GDIDList.Count);
            Assert.AreEqual(gdid1, row.GDIDList[0]);
            Assert.AreEqual(gdid2, row.GDIDList[1]);
            Assert.AreEqual(gdid3, row.GDIDList[2]);

            Assert.IsNotNull(row.GDIDNList);
            Assert.AreEqual(3, row.GDIDNList.Count);
            Assert.AreEqual(gdid1, row.GDIDNList[0]);
            Assert.AreEqual(null, row.GDIDNList[1]);
            Assert.AreEqual(gdid3, row.GDIDNList[2]);
        }
Пример #10
0
        public void ToTypedRow_Lists_FromString_Bytes()
        {
            var str = @"{UInt8: 255, UInt8List: [1, 0, 255], UInt8NList: [null, 0, 124]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(255, row.UInt8);

            Assert.IsNotNull(row.UInt8List);
            Assert.AreEqual(3, row.UInt8List.Count);
            Assert.AreEqual(1, row.UInt8List[0]);
            Assert.AreEqual(0, row.UInt8List[1]);
            Assert.AreEqual(255, row.UInt8List[2]);

            Assert.IsNotNull(row.UInt8NList);
            Assert.AreEqual(3, row.UInt8NList.Count);
            Assert.AreEqual(null, row.UInt8NList[0]);
            Assert.AreEqual(0, row.UInt8NList[1]);
            Assert.AreEqual(124, row.UInt8NList[2]);
        }
Пример #11
0
        public void ToTypedRow_Lists_FromString_UShorts()
        {
            var str = @"{UInt16: 123, UInt16List: [65535, 0, 12345], UInt16NList: [null, 0, 65535]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(123, row.UInt16);

            Assert.IsNotNull(row.UInt16List);
            Assert.AreEqual(3, row.UInt16List.Count);
            Assert.AreEqual(ushort.MaxValue, row.UInt16List[0]);
            Assert.AreEqual(0, row.UInt16List[1]);
            Assert.AreEqual(12345, row.UInt16List[2]);

            Assert.IsNotNull(row.UInt16NList);
            Assert.AreEqual(3, row.UInt16NList.Count);
            Assert.AreEqual(null, row.UInt16NList[0]);
            Assert.AreEqual(0, row.UInt16NList[1]);
            Assert.AreEqual(ushort.MaxValue, row.UInt16NList[2]);
        }
Пример #12
0
        public void ToTypedRow_Lists_FromString_ULong()
        {
            var str = @"{UInt64: 123, UInt64List: [18446744073709551615, 0, 124], UInt64NList: [null, 0, 18446744073709551615]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(123, row.UInt64);

            Assert.IsNotNull(row.UInt64List);
            Assert.AreEqual(3, row.UInt64List.Count);
            Assert.AreEqual(ulong.MaxValue, row.UInt64List[0]);
            Assert.AreEqual(0, row.UInt64List[1]);
            Assert.AreEqual(124, row.UInt64List[2]);

            Assert.IsNotNull(row.UInt64NList);
            Assert.AreEqual(3, row.UInt64NList.Count);
            Assert.AreEqual(null, row.UInt64NList[0]);
            Assert.AreEqual(0, row.UInt64NList[1]);
            Assert.AreEqual(ulong.MaxValue, row.UInt64NList[2]);
        }
Пример #13
0
        public void ToTypedRow_Lists_FromString_UInt()
        {
            var str = @"{UInt32: 123, UInt32List: [4294967295, 0, 124], UInt32NList: [null, 0, 4294967295]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual(123, row.UInt32);

            Assert.IsNotNull(row.UInt32List);
            Assert.AreEqual(3, row.UInt32List.Count);
            Assert.AreEqual(uint.MaxValue, row.UInt32List[0]);
            Assert.AreEqual(0, row.UInt32List[1]);
            Assert.AreEqual(124, row.UInt32List[2]);

            Assert.IsNotNull(row.UInt32NList);
            Assert.AreEqual(3, row.UInt32NList.Count);
            Assert.AreEqual(null, row.UInt32NList[0]);
            Assert.AreEqual(0, row.UInt32NList[1]);
            Assert.AreEqual(uint.MaxValue, row.UInt32NList[2]);
        }
Пример #14
0
        public void ToTypedRow_Lists_FromString_Strings()
        {
            var str = @"{name: ""Orlov"", StringList: [""a"", null, ""b""]}";

            var row = new RowWithLists();

            JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap);

            Assert.AreEqual("Orlov", row.Name);

            Assert.IsNotNull(row.StringList);
            Assert.AreEqual(3, row.StringList.Count);

            Assert.AreEqual("a", row.StringList[0]);
            Assert.AreEqual(null, row.StringList[1]);
            Assert.AreEqual("b", row.StringList[2]);
        }