530387b87c
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com> Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
31 lines
997 B
C#
31 lines
997 B
C#
using Speckle.Sdk.Models;
|
|
using Speckle.Sdk.Serialisation;
|
|
using Speckle.Sdk.Serialisation.V2.Send;
|
|
using Speckle.Sdk.Testing;
|
|
|
|
namespace Speckle.Objects.SerializationTests;
|
|
|
|
public sealed class ObjectsSerializationTest
|
|
{
|
|
[Theory]
|
|
[MemberData(nameof(ObjectsTestData.TheoryData), MemberType = typeof(ObjectsTestData))]
|
|
public async Task SerializeAndVerify(Base testCase)
|
|
{
|
|
var serialized = Serialize(testCase);
|
|
|
|
await VerifySerialized(serialized).UseParameters(testCase);
|
|
}
|
|
|
|
private static IReadOnlyList<(Id, Json, Dictionary<Id, int>)> Serialize(Base data)
|
|
{
|
|
using var serializer = new ObjectSerializerFactory(new BasePropertyGatherer()).Create(default);
|
|
return serializer.Serialize(data).ToList();
|
|
}
|
|
|
|
private static SettingsTask VerifySerialized(IReadOnlyList<(Id, Json, Dictionary<Id, int>)> serializedResult)
|
|
{
|
|
var jsons = serializedResult.OrderBy(x => x.Item1.Value).Select(x => x.Item2).ToArray();
|
|
return SpeckleVerify.VerifyJsons(jsons);
|
|
}
|
|
}
|