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); }