40 lines
No EOL
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
} |