Esempio n. 1
0
        public TestTableWithNestedTestTable1 ReadTestTableWithNestedTable1(byte[] buffer)
        {
            var test = SerializationTests.TestTableWithNestedTestTable1.GetRootAsTestTableWithNestedTestTable1(new ByteBuffer(buffer));

            var result = new TestTableWithNestedTestTable1()
            {
                IntProp = test.IntProp,
            };

            if (test.NestedLength != 0)
            {
                var nested = test.GetNestedBytes();

                var testNested =
                    SerializationTests.TestTable1.GetRootAsTestTable1(new ByteBuffer(nested.Value.Array,
                                                                                     nested.Value.Offset));

                result.Nested = new TestTable1()
                {
                    IntProp   = testNested.IntProp,
                    ByteProp  = testNested.ByteProp,
                    ShortProp = testNested.ShortProp,
                };
            }

            return(result);
        }
        public void Serialize_TestTableWithNestedTestTable1_CanBeReadByOracle()
        {
            const int   intProp   = 123456;
            const byte  byteProp  = 42;
            const short shortProp = 1024;

            var nested = new TestTable1()
            {
                IntProp   = intProp,
                ByteProp  = byteProp,
                ShortProp = shortProp
            };

            var obj = new TestTableWithNestedTestTable1()
            {
                IntProp = 2048,
                Nested  = nested
            };

            var buffer = FlatBuffersConvert.SerializeObject(obj);

            var oracle       = new SerializationTestOracle();
            var oracleResult = oracle.ReadTestTableWithNestedTable1(buffer);

            Assert.AreEqual(2048, oracleResult.IntProp);

            var oracleResult1 = oracleResult.Nested as TestTable1;

            Assert.IsNotNull(oracleResult1);
            Assert.AreEqual(intProp, oracleResult1.IntProp);
            Assert.AreEqual(byteProp, oracleResult1.ByteProp);
            Assert.AreEqual(shortProp, oracleResult1.ShortProp);
        }