test(objects): Verify tests for serialization (#227)
* Objects Verify Tests * VerifyTests * Verify as array with deterministic order * lock * Updated verified
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
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(
|
||||
new Dictionary<Id, NodeInfo>(),
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user