Skip to content

Add Diamond Test Generator #406

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jpreese opened this issue Sep 6, 2017 · 6 comments
Closed

Add Diamond Test Generator #406

jpreese opened this issue Sep 6, 2017 · 6 comments

Comments

@jpreese
Copy link
Contributor

jpreese commented Sep 6, 2017

This issue is part of an overall initiative to complete #195.

The documentation on how to add generators can be found here. If you get stuck or have any questions about adding this generator, please do not hesitate to reach out!

@avjgit
Copy link
Contributor

avjgit commented Oct 11, 2017

Current tests are property-based.
Current canonical testcases are value-based.
Should canonical data be updated by adding property-based testcases?
Should overwrite them?
What would be an impact on generators in other languages?

@ErikSchierboom
Copy link
Member

Great observation. I think in this case we might not actually want to use the canonical data, as I think there is value in the property-based testing approach. @jpreese @robkeim what do you think?

@felix91gr
Copy link
Contributor

Property Testing for the win!

It's so much stronger and descriptive than Case Testing.

That said, is it easy to follow for people doing the exercises? That should be the main criteria to apply here, right?
If it is, I think this is actually better in every way. It generalizes over all the domain of input. Unless the exercise itself changes, the canonical testcases will always be behind this exercise's test suite.

@jpreese
Copy link
Contributor Author

jpreese commented Oct 13, 2017

Yeah, I would agree. This is a nice case to have where we can expose developers to property based testing (the tests themselves even use FsCheck).

@jpreese jpreese closed this as completed Oct 13, 2017
@robkeim
Copy link
Contributor

robkeim commented Oct 15, 2017

I agree we have a good reason for diverging from the canonical data here, and I think it would be sad to give up the opportunity of introducing/using property based testing just to conform with the canonical data.

When we go to solve #434 we'll need to have another status that is explicitly ignoring the canonical data.

@ErikSchierboom
Copy link
Member

@robkeim Good idea!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants