public void Serialize_TestTableWithUnion_And_TestTable2_CanBeReadByOracle() { const string stringProp = "Hello, FlatBuffers!"; var table2 = new TestTable2() { StringProp = stringProp }; var obj = new TestTableWithUnion() { IntProp = 512, UnionProp = table2 }; var buffer = FlatBuffersConvert.SerializeObject(obj); var oracle = new SerializationTestOracle(); var oracleResult = oracle.ReadTestTableWithUnion(buffer); Assert.AreEqual(512, oracleResult.IntProp); Assert.AreEqual(typeof(TestTable2), oracleResult.UnionProp.GetType()); var oracleResult2 = oracleResult.UnionProp as TestTable2; Assert.IsNotNull(oracleResult2); Assert.AreEqual(stringProp, oracleResult2.StringProp); }
public TestTable2 ReadTestTable2(byte[] buffer) { var test = SerializationTests.TestTable2.GetRootAsTestTable2(new ByteBuffer(buffer)); var result = new TestTable2() { StringProp = test.StringProp }; return(result); }
public void TestBinaryColumn() { var cmdFac = new QueryCommandFactory(); var table = new TestTable2(); var criteria = table.Insert(table.Data.Set(new byte[] { 0, 1, 2 })).Where(table.ID == 123); var cmd = cmdFac.CreateCommand(criteria, false); Assert.AreEqual("@p1", cmd.Parameters[0].ParameterName); Assert.AreEqual(DbType.Binary, cmd.Parameters[0].DbType); Assert.AreEqual(1, (cmd.Parameters[0].Value as byte[])[1]); Assert.AreEqual("@p2", cmd.Parameters[1].ParameterName); Assert.AreEqual(123, cmd.Parameters[1].Value); }
public void Serialize_WithTestTable2_AndNullString_CanBeReadByOracle() { var serializer = new FlatBuffersSerializer(); var obj = new TestTable2(); var buffer = new byte[64]; serializer.Serialize(obj, buffer, 0, buffer.Length); var oracle = new SerializationTestOracle(); var oracleResult = oracle.ReadTestTable2(buffer); Assert.IsNull(oracleResult.StringProp); }
public void Serialize_WithTestTable2_CanBeReadByOracle() { const string stringProp = "Hello, FlatBuffers!"; var serializer = new FlatBuffersSerializer(); var obj = new TestTable2() { StringProp = stringProp }; var buffer = new byte[64]; serializer.Serialize(obj, buffer, 0, buffer.Length); var oracle = new SerializationTestOracle(); var oracleResult = oracle.ReadTestTable2(buffer); Assert.AreEqual(obj.StringProp, oracleResult.StringProp); }
public void Deserialize_FromOracleData_WithTestTableWithUnion_And_TestTable2() { var table2 = new TestTable2() { StringProp = "Hello, FlatBuffers!" }; var oracle = new SerializationTestOracle(); var oracleResult = oracle.GenerateTestTableWithUnion(1024, testTable2Prop: table2); var serializer = new FlatBuffersSerializer(); var o = serializer.Deserialize <TestTableWithUnion>(oracleResult, 0, oracleResult.Length); Assert.AreEqual(1024, o.IntProp); Assert.IsInstanceOf <TestTable2>(o.UnionProp); var o2 = o.UnionProp as TestTable2; Assert.AreEqual(table2.StringProp, o2.StringProp); }
public byte[] GenerateTestTableWithUnionAndMoreFields(int intProp, string stringProp, float floatProp, double doubleProp, TestTable1 testTable1Prop = null, TestTable2 testTable2Prop = null) { if (testTable1Prop != null && testTable2Prop != null) { throw new ArgumentException(); } var fbb = new FlatBufferBuilder(8); var stringOffset = fbb.CreateString(stringProp); var unionTableOffset = 0; var unionType = TestUnion.NONE; if (testTable1Prop != null) { unionTableOffset = SerializationTests.TestTable1.CreateTestTable1(fbb, testTable1Prop.IntProp, testTable1Prop.ByteProp, testTable1Prop.ShortProp).Value; unionType = TestUnion.TestTable1; } else if (testTable2Prop != null) { var stringOffset2 = fbb.CreateString(testTable2Prop.StringProp); unionTableOffset = SerializationTests.TestTable2.CreateTestTable2(fbb, stringOffset2).Value; unionType = TestUnion.TestTable2; } var tableOffset = SerializationTests.TestTableWithUnionAndMoreFields.CreateTestTableWithUnionAndMoreFields(fbb, intProp, unionType, unionTableOffset, stringOffset, floatProp, doubleProp); fbb.Finish(tableOffset.Value); return(GetBytes(fbb)); }