Skip to content
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

Add property testing #78

Open
kwinkunks opened this issue Sep 27, 2023 · 2 comments
Open

Add property testing #78

kwinkunks opened this issue Sep 27, 2023 · 2 comments
Assignees
Labels
good first issue Good for newcomers help wanted Extra attention is needed maintenance Not a bug now but could be one day testing Issue about testing

Comments

@kwinkunks
Copy link
Member

Look at Hypothesis for property testing. Start with something basic on a single module, eg outliers.py or target.py.

Also try fuzzing, or maybe that's already part of it.

The basic implementation on one module should be okay for a first issue, if you've used Hypothesis or property testing before.

@kwinkunks kwinkunks added help wanted Extra attention is needed good first issue Good for newcomers maintenance Not a bug now but could be one day hacktoberfest A good issue for Hacktoberfest testing Issue about testing labels Sep 27, 2023
@k31i
Copy link

k31i commented Sep 27, 2023

This looks quite interesting to and id be happy to do the tests for you as I love doing maths. I've never really contributed before so curios if there was a certain process with yourself that wasn't mentioned on the contribution file or if I need to ask for permission to do anything first so thought it wouldn't hurt messaging first.

@kwinkunks
Copy link
Member Author

@k31i Thanks a lot for offering to look at this.

Only process is really to work on a personal fork and make PR's back to this repo. I think if you start with something small in a new file in tests then it should be easy to see how things are going. Don't spend too much time before drafting a PR.

I would start with one or two of the simpler functions. Most of those are in utils.py:

  • update_p()
  • is_numeric()
  • generate_data()
  • ordered_unique()
  • zscore()
  • cv()
  • has_few_samples()
  • stdev_to_proportion()
  • proportion_to_stdev()
  • is_clipped()
  • has_few_samples()
  • has_flat()
  • has_monotonic()

And in target.py:

  • n_classes()
  • is_binary()
  • is_multiclass()
  • is_multioutput()

Take a look through and see what you think.

Again, appreciate the interest, thank you.

@kwinkunks kwinkunks assigned kwinkunks and k31i and unassigned kwinkunks Sep 28, 2023
@kwinkunks kwinkunks removed the hacktoberfest A good issue for Hacktoberfest label Dec 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed maintenance Not a bug now but could be one day testing Issue about testing
Projects
None yet
Development

No branches or pull requests

2 participants