JD2022-TU1/main/tools/framework/JD.Serialization/Tests/BinarySerializerTests.cs

40 lines
No EOL
1.3 KiB
C#

using NUnit.Framework;
namespace JD.Serialization
{
[TestFixture]
public class BinarySerializerTests : SerializerTestsBase
{
protected override T ReadWrite<T>(T model)
{
return ReadWrite(model, true);
}
protected T ReadWrite<T>(T model, bool serializeStringIdAsString)
{
var serializer = new BinarySerializer { IncludeSpecialFields = false, SerializeStringIdAsString = serializeStringIdAsString };
byte[] buffer = serializer.SaveObjectToBuffer(model);
return (T)serializer.LoadObjectFromBuffer(buffer, model.GetType());
}
[Test]
public void Test_can_read_write_StringId_as_uint()
{
var model = new MyModel { StringId = new StringID()};
var serialized = ReadWrite(model, serializeStringIdAsString:false);
uint a = model.StringId;
uint b = serialized.StringId;
Assert.AreEqual(a, b);
}
[Test]
public void Test_can_read_doubles()
{
var model = new MyModel { DoubleValue = 12.4 };
var serialized = ReadWrite(model, serializeStringIdAsString: false);
Assert.AreEqual(model.DoubleValue, serialized.DoubleValue);
}
}
}