redflag icon indicating copy to clipboard operation
redflag copied to clipboard

Add property testing

Open kwinkunks opened this issue 2 years ago • 2 comments

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 avatar Sep 27 '23 10:09 kwinkunks

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.

k31i avatar Sep 27 '23 12:09 k31i

@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 avatar Sep 28 '23 09:09 kwinkunks