public void TestLong() { var js = new JsonSerializer(); var v1 = new SampleLong { S = -1L << 33, U = 1UL << 33 }; js.JsonOptions.Indent = ""; var result = js.ToString(v1); Assert.AreEqual("{\n\"S\":-8589934592,\n\"U\":8589934592\n}", result); var v2 = new SampleLong(); var jd = new JsonDeserializer(); jd.FromString(v2, result); Assert.AreEqual(v1.S, v2.S); Assert.AreEqual(v1.U, v2.U); js.JsonOptions.Int64AsString = true; var result1 = js.ToString(v1); Assert.AreEqual("{\n\"S\":\"-8589934592\",\n\"U\":\"8589934592\"\n}", result1); var jd1 = new JsonDeserializer(); jd1.JsonOptions.Int64AsString = true; jd1.FromString(v2, result1); Assert.AreEqual(v1.S, v2.S); Assert.AreEqual(v1.U, v2.U); js.JsonOptions.Int64AsString = false; v1.S = long.MinValue; v1.U = ulong.MaxValue; jd.FromString(v2, js.ToString(v1)); Assert.AreEqual(v1.S, v2.S); Assert.AreEqual(v1.U, v2.U); }
public void TestLong() { var bs = new BinarySerializer(); var v1 = new SampleLong { S = -1L << 33, U = 1UL << 33 }; var result = bs.ToBytes(v1); Assert.AreEqual( XS(RoughType.Record) + " 01 00 " + XS(typeof(SampleLong)) + " 02 00 " + XS("S", RoughType.Long, "U", RoughType.ULong) + " 01 00 00 00 00 00 FE FF FF FF 02 00 00 00 00 00 02 00 00 00 00 00", XS(result)); var v2 = new SampleLong(); var bd = new BinaryDeserializer(); bd.FromBytes(v2, result); Assert.AreEqual(v1.S, v2.S); Assert.AreEqual(v1.U, v2.U); v1.S = long.MinValue; v1.U = ulong.MaxValue; bd.FromBytes(v2, bs.ToBytes(v1)); Assert.AreEqual(v1.S, v2.S); Assert.AreEqual(v1.U, v2.U); }