Пример #1
0
        public void TestObject()
        {
            var reader = new Amf3Reader();
            var writer = new Amf3Writer();

            var obj = new AmfObject
            {
                { "t1", (uint)2 },
                { "t2", 3.1 }
            };

            obj.AddDynamic("t3", new Vector <int>()
            {
                2, 3, 4
            });

            using (var sc = new SerializationContext())
            {
                writer.WriteBytes(obj, sc);
                var buffer = new byte[sc.MessageLength];
                sc.GetMessage(buffer);

                Assert.IsTrue(reader.TryGetObject(buffer, out var readVal, out var consumed));
                var readObj = (AmfObject)readVal;
                Assert.AreEqual(readObj.Fields["t1"], (uint)2);
                Assert.AreEqual(readObj.Fields["t2"], 3.1);
                Assert.AreEqual(readObj.DynamicFields["t3"], new Vector <int>()
                {
                    2, 3, 4
                });
                Assert.AreEqual(buffer.Length, consumed);
            }
        }