public void CanBackwardCompatJsonSerializeCheckpointState() { var test = new CheckpointState(new EventSequencePoint(42), checkpointId: "TestCheckpointId", producer: new MachineLocation("This is a machine loc")); var serialized = JsonSerializer.Serialize(test); var deserialized = JsonUtilities.JsonDeserialize <CheckpointState>(serialized); Assert.Equal(test.CheckpointId, deserialized.CheckpointId); Assert.Equal(test.Producer, deserialized.Producer); }
private void TestJsonRoundtrip <T>(T expected, Action <T, T, bool> assertEqual = null) { assertEqual ??= (t0, t1, legacySerialized) => Assert.Equal(t0, t1); var serialized = JsonSerializer.Serialize(expected); var deserialized = JsonSerializer.Deserialize <T>(serialized); assertEqual(expected, deserialized, true); serialized = JsonSerializer.Serialize(expected); deserialized = JsonUtilities.JsonDeserialize <T>(serialized); assertEqual(expected, deserialized, true); serialized = JsonUtilities.JsonSerialize(expected); deserialized = JsonUtilities.JsonDeserialize <T>(serialized); assertEqual(expected, deserialized, false); }