public virtual void TestDataInputOutputWithPortable(ByteOrder byteOrder) { var portable = KitchenSinkPortable.Generate(); var config = new SerializationConfig(); config.AddPortableFactoryClass(KitchenSinkPortableFactory.FactoryId, typeof (KitchenSinkPortableFactory)); var ss = new SerializationServiceBuilder().SetConfig(config). SetUseNativeByteOrder(false).SetByteOrder(byteOrder).Build(); IObjectDataOutput output = ss.CreateObjectDataOutput(1024); output.WriteObject(portable); var data = output.ToByteArray(); IObjectDataInput input = ss.CreateObjectDataInput(data); var readObject = input.ReadObject<IPortable>(); Assert.AreEqual(portable, readObject); ss.Destroy(); }
public void TestNullValue_When_NullableType() { var ss = new SerializationServiceBuilder() .Build(); var output = ss.CreateObjectDataOutput(1024); ss.WriteObject(output, 1); ss.WriteObject(output, null); var input = ss.CreateObjectDataInput(output.ToByteArray()); Assert.AreEqual(1, ss.ReadObject<int?>(input)); Assert.IsNull(ss.ReadObject<int?>(input)); }
public virtual void TestReadWrite(ByteOrder byteOrder) { var obj = KitchenSinkDataSerializable.Generate(); obj.Serializable = KitchenSinkDataSerializable.Generate(); var ss = new SerializationServiceBuilder() .AddDataSerializableFactory(1, new ArrayDataSerializableFactory(new Func<IIdentifiedDataSerializable>[] { () => new KitchenSinkDataSerializable(), })) .SetUseNativeByteOrder(false).SetByteOrder(byteOrder).Build(); IObjectDataOutput output = ss.CreateObjectDataOutput(1024); output.WriteObject(obj); IObjectDataInput input = ss.CreateObjectDataInput(output.ToByteArray()); var readObj = input.ReadObject<object>(); Assert.AreEqual(obj, readObj); ss.Destroy(); }
public void TestNullValue_When_ValueType() { var ss = new SerializationServiceBuilder() .Build(); var output = ss.CreateObjectDataOutput(1024); ss.WriteObject(output, null); var input = ss.CreateObjectDataInput(output.ToByteArray()); ss.ReadObject<int>(input); }