public void ToAmorphousRow_FromString_Double() { var str = @"{Double_1: 123.456, DoubleArray_1: [1.79769E+308, 0, -1.7976931E+308], DoubleNArray_1: [null, 0, 3.482347E+38]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(123.456D, row.AmorphousData["Double_1"]); var array = row.AmorphousData["DoubleArray_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(1.79769E+308, array[0]); Assert.AreEqual(0, array[1]); Assert.AreEqual(-1.7976931E+308, array[2]); var narray = row.AmorphousData["DoubleNArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(null, narray[0]); Assert.AreEqual(0, narray[1]); Assert.AreEqual(3.482347E+38, narray[2]); }
public void ToAmorphousRow_FromString_Bytes() { var str = @"{UInt8_1: 255, UInt8Array_1: [1, 0, 255], UInt8NArray_1: [null, 0, 124]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(255, row.AmorphousData["UInt8_1"]); var array = row.AmorphousData["UInt8Array_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(1, array[0]); Assert.AreEqual(0, array[1]); Assert.AreEqual(255, array[2]); var narray = row.AmorphousData["UInt8NArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(null, narray[0]); Assert.AreEqual(0, narray[1]); Assert.AreEqual(124, narray[2]); }
public void ToAmorphousRow_FromString_GDID() { var gdid1 = new GDID(4000000000, 8000000000); var gdid2 = new GDID(100002, 1, 8000000000); var gdid3 = new GDID(123, 123456789); var str = @"{" + @"GDID_1: ""{0}"", GDIDArray_1: [""{0}"", ""{1}"", ""{2}""], GDIDNArray_1: [""{0}"", null, ""{2}""]".Args(gdid1, gdid2, gdid3) + "}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(gdid1, row.AmorphousData["GDID_1"].AsGDID()); var array = row.AmorphousData["GDIDArray_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(gdid1, array[0].AsGDID()); Assert.AreEqual(gdid2, array[1].AsGDID()); Assert.AreEqual(gdid3, array[2].AsGDID()); var narray = row.AmorphousData["GDIDNArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(gdid1, narray[0].AsGDID()); Assert.AreEqual(null, narray[1]); Assert.AreEqual(gdid3, narray[2].AsGDID()); }
public void ToAmorphousRow_FromString_UShorts() { var str = @"{UInt16_1: 123, UInt16Array_1: [65535, 0, 12345], UInt16NArray_1: [null, 0, 65535]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(123, row.AmorphousData["UInt16_1"]); var array = row.AmorphousData["UInt16Array_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(ushort.MaxValue, array[0]); Assert.AreEqual(0, array[1]); Assert.AreEqual(12345, array[2]); var narray = row.AmorphousData["UInt16NArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(null, narray[0]); Assert.AreEqual(0, narray[1]); Assert.AreEqual(ushort.MaxValue, narray[2]); }
public void ToAmorphousRow_FromString_Strings() { var str = @"{ Name_1: ""Orlov"", StringArray_1: [""a"", null, ""b""]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual("Orlov", row.AmorphousData["Name_1"]); var array = row.AmorphousData["StringArray_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual("a", array[0]); Assert.AreEqual(null, array[1]); Assert.AreEqual("b", array[2]); }
public void ToAmorphousRow_FromString_ULong() { var str = @"{UInt64_1: 123, UInt64Array_1: [18446744073709551615, 0, 124], UInt64NArray_1: [null, 0, 18446744073709551615]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(123, row.AmorphousData["UInt64_1"]); var array = row.AmorphousData["UInt64Array_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(ulong.MaxValue, array[0]); Assert.AreEqual(0, array[1]); Assert.AreEqual(124, array[2]); var narray = row.AmorphousData["UInt64NArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(null, narray[0]); Assert.AreEqual(0, narray[1]); Assert.AreEqual(ulong.MaxValue, narray[2]); }
public void ToAmorphousRow_FromString_Single() { var str = @"{Single_1: 123.456, SingleArray_1: [3.4028E+38, 0, -3.402E+38], SingleNArray_1: [null, 0, 3.4028]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(123.456F, row.AmorphousData["Single_1"].AsFloat()); var array = row.AmorphousData["SingleArray_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(3.4028E+38F, array[0].AsFloat()); Assert.AreEqual(0, array[1]); Assert.AreEqual(-3.402E+38F, array[2].AsFloat()); var narray = row.AmorphousData["SingleNArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(null, narray[0]); Assert.AreEqual(0, narray[1].AsFloat()); Assert.AreEqual(3.4028F, narray[2].AsFloat()); }
public void ToAmorphousRow_FromString_Row() { var str = @"{ Row_1: { Name: ""Ivan"", Int32Array: [1, 0, -12345] }, RowArray_1: [ { Name: ""John"", Int8: 123 }, { Name: ""Anna"", Single: 123.567 } ] }"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); var innerRow = row.AmorphousData["Row_1"] as JSONDataMap; Assert.IsNotNull(innerRow); Assert.AreEqual("Ivan", innerRow["Name"]); var innerRowArray = innerRow["Int32Array"] as JSONDataArray; Assert.IsNotNull(innerRowArray); Assert.AreEqual(3, innerRowArray.Count); Assert.AreEqual(1, innerRowArray[0]); Assert.AreEqual(0, innerRowArray[1]); Assert.AreEqual(-12345, innerRowArray[2]); var innerArray = row.AmorphousData["RowArray_1"] as JSONDataArray; Assert.IsNotNull(innerArray); Assert.AreEqual(2, innerArray.Count); var innerArrayRow0 = innerArray[0] as JSONDataMap; Assert.IsNotNull(innerArrayRow0); Assert.AreEqual("John", innerArrayRow0["Name"]); Assert.AreEqual(123, innerArrayRow0["Int8"]); var innerArrayRow1 = innerArray[1] as JSONDataMap; Assert.IsNotNull(innerArrayRow1); Assert.AreEqual("Anna", innerArrayRow1["Name"]); Assert.AreEqual(123.567F, innerArrayRow1["Single"].AsFloat()); }
public void ToAmorphousRow_FromString_Long() { var str = @"{Int64_1: 123, Int64Array_1: [9223372036854775807, 0, -9223372036854775808], Int64NArray_1: [null, 0, 9223372036854775807]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(123, row.AmorphousData["Int64_1"]); var array = row.AmorphousData["Int64Array_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(long.MaxValue, array[0]); Assert.AreEqual(0, array[1]); Assert.AreEqual(long.MinValue, array[2]); var narray = row.AmorphousData["Int64NArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(null, narray[0]); Assert.AreEqual(0, narray[1]); Assert.AreEqual(long.MaxValue, narray[2]); }
public void ToAmorphousRow_FromString_Int() { var str = @"{Int32_1: 123, Int32Array_1: [2147483647, 0, -2147483648], Int32NArray_1: [null, 0, 2147483647]}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(123, row.AmorphousData["Int32_1"]); var array = row.AmorphousData["Int32Array_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(int.MaxValue, array[0]); Assert.AreEqual(0, array[1]); Assert.AreEqual(int.MinValue, array[2]); var narray = row.AmorphousData["Int32NArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(null, narray[0]); Assert.AreEqual(0, narray[1]); Assert.AreEqual(int.MaxValue, narray[2]); }
public void ToAmorphousRow_FromString_Guid() { var guid1 = Guid.NewGuid(); var guid2 = Guid.NewGuid(); var guid3 = Guid.NewGuid(); var str = "{" + @"Guid_1: ""{0}"", GuidArray_1: [""{0}"", ""{1}"", ""{2}""], GuidNArray_1: [""{0}"", null, ""{2}""]".Args(guid1, guid2, guid3) + "}"; var row = new AmorphousRow(Schema.GetForTypedRow(typeof(RowWithArrays))); JSONReader.ToRow(row, str.JSONToDataObject() as JSONDataMap); Assert.AreEqual(guid1, row.AmorphousData["Guid_1"].AsGUID(Guid.Empty)); var array = row.AmorphousData["GuidArray_1"] as JSONDataArray; Assert.IsNotNull(array); Assert.AreEqual(3, array.Count); Assert.AreEqual(guid1, array[0].AsGUID(Guid.Empty)); Assert.AreEqual(guid2, array[1].AsGUID(Guid.Empty)); Assert.AreEqual(guid3, array[2].AsGUID(Guid.Empty)); var narray = row.AmorphousData["GuidNArray_1"] as JSONDataArray; Assert.IsNotNull(narray); Assert.AreEqual(3, narray.Count); Assert.AreEqual(guid1, narray[0].AsGUID(Guid.Empty)); Assert.AreEqual(null, narray[1].AsNullableGUID()); Assert.AreEqual(guid3, narray[2].AsGUID(Guid.Empty)); }