Esempio n. 1
0
        public void TestIndentity()
        {
            OneOfEach ooe = Fixtures.oneOfEach;

            Nesting n = new Nesting();
            n.MyOoe = ooe;
            n.MyOoe.Integer16 = 16;
            n.MyOoe.Integer32 = 32;
            n.MyOoe.Integer64 = 64L;
            n.MyOoe.DoublePrecision = (Math.Sqrt(5) + 1) / 2;
            n.MyOoe.SomeCharacters = ":R (me going \"rrrr\")";
            n.MyOoe.ZomgUnicode = "\u04c0\u216e\u039d\u0020\u041d\u03bf\u217f" +
                                  "\u043e\u0261\u0433\u0430\u03c1\u210e\u0020" +
                                  "\u0391\u0074\u0074\u03b1\u217d\u03ba\u01c3" +
                                  "\u203c";
            n.MyBonk = Fixtures.nesting.MyBonk;

            var ooe2 = TMemoryBuffer.DeSerialize<OneOfEach>(TMemoryBuffer.Serialize(ooe));
            Assert.AreEqual(ooe, ooe2);
            Assert.AreEqual(ooe.GetHashCode(), ooe2.GetHashCode());

            var n2 = TMemoryBuffer.DeSerialize<Nesting>(TMemoryBuffer.Serialize(n));
            Assert.AreEqual(n, n2);
            Assert.AreEqual(n.GetHashCode(), n2.GetHashCode());

            HolyMoley hm = Fixtures.holyMoley;
            var hm2 = TMemoryBuffer.DeSerialize<HolyMoley>(TMemoryBuffer.Serialize(hm));
            Assert.AreEqual(hm, hm2);
            Assert.AreEqual(hm.GetHashCode(), hm2.GetHashCode());

        }