Make Arbitrary StreamingT more arbitrary#649
Merged
Merged
Conversation
This still isn't a perfect Arbitrary instance for StreamingT, but I think it will help us hit more test cases than the current implementation. For example, I don't think the current instance ever results in `Wait` instances.
Current coverage is
|
Contributor
|
👍 Another improvement I could imagine is using weights to try to help ensure that we have longer streams (since right now there is a 1/3 chance of being empty at each step). But let's merge this first. |
Contributor
|
👍 |
stew
added a commit
that referenced
this pull request
Nov 15, 2015
Make Arbitrary StreamingT more arbitrary
ceedubs
referenced
this pull request
in ceedubs/cats
Nov 16, 2015
This commit does two things. 1) Use a frequency distribution in the `StreamingT` generator as suggested by @non [here](https://github.com/non/cats/pull/649#issuecomment-156856211). It is now twice as likely to generate a Wait as an Empty and 6 times as likely to generate a Cons as an Empty. 2) Update the `Streaming` generator to be similar to the `StreamingT` generator (use a frequency distribution generator of Empty, Wait, and Cons).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 still isn't a perfect Arbitrary instance for StreamingT, but I
think it will help us hit more test cases than the current
implementation. For example, I don't think the current instance ever
results in
Waitinstances.@non could you please be one of the reviewers of this?