Fix Arbitrary instances and enable corresponding roundtrip tests #1492
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changes
Arbitrary
instances for types that had flaky JSON roundtrip tests. Here is the list of changes:Milliseconds
is a 64 bit integer which is converted to and fromDouble
when going through JSON encoding. Its arbitrary instance now limits it to values that JSON can represent exactly (up to 2^53).Asset
,ResumableAsset
,Event
andClientMismatch
truncate the times they contain to millisecond precision. TheArbitrary
instance now reflects that.MemberUpdate
never gets serialised (why?). Therefore, the arbitrary instance always sets it toNothing
.OtherMemberUpdate
cannot beNothing
.TeamUpdateData
cannot have all its fields set toNothing
.