-
Notifications
You must be signed in to change notification settings - Fork 3
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
Propose new features with refactoring #10
Comments
@futoase If I made you confused, I will apologize you... 😢 |
👍 |
Thanks a lot! 😉 This change will be large, so may I have your opinion for the way to send Pull Requests?
|
@futoase If you don't have any special instruction for PR, I will send you 4 PRs in order (for refactoring, |
Now the first step of refactoring and redesigning PyQCheck is done. |
Target: Extensions for PyQCheck
I'd like to add new features from another QuickCheck libraries (ex. scalacheck, etc) into PyQCheck. The features are like following:
for_all function
for_all
function allows us to create property a little easier than we are writing now.This is equivalent to the code below:
from_gen function
Gen
class andfrom_gen
function allows us to create our own arbitrary with generator syntax in Python.We can limit these ranges.
from_gen_and_shrink function
from_gen_and_shrink
function allows us to create our own arbitrary likefrom_gen
, which can set a shrinker.The shrinker is a procedure to minimize our test cases as we want.
It may result like this:
How to go: step by step
The features above are, however difficult to implement because of PyQCheck's current structure. For example,
arbitrary
module grabs almost all like a dictator or God.So I would like to resolve this proposition step by step as following:
If you like it, I will try to do the job.
The text was updated successfully, but these errors were encountered: