Open tdhock opened 6 months ago
I can add/improve tests for
core/arrays/sparse/array.py:1768
if len(self) != len(other):
if len(self) > len(other):
since it looks like that case is still passing when it shouldn't. And if that goes well then I can look into some of the other ones :)
I can take this next (confirmed tests are still passing incorrectly on main)
if not other_is_scalar and len(self) != len(other):
if not other_is_scalar and len(self) > len(other):
I'll open a PR for core/arrays/interval.py:866
def min(self, *, axis: AxisInt | None = None, skipna: bool = True) -> IntervalOrNA:
def min(self, *, axis: AxisInt | None = None, skipna: bool = False) -> IntervalOrNA:
hi @jsngn I'm glad to see that these results have been useful.
I edited my original/first comment in this PR to add several sections, to organize the mutants, according to which ones have already corresponding PRs, similar to what we did in data.table, https://github.com/Rdatatable/data.table/issues/6114
I also added a section "already investigated, but not likely to result in Prs (please write why not)" so please feel free to edit my comment yourself, and move items that you have investigated down into that section, and write why they are unlikely to result in Prs. This is similar to the "To ignore (probably not significant)" section which involves permutation of arguments.
Hi, @agroce and I did mutation testing of pandas, and here are some significant changes/mutants in pandas source code lines that were apparently covered by tests, but when we ran the tests with the mutation, the tests passed, so pandas may want to add tests that would fail for these changes/mutants.
This was run on v2.2.1 so the line numbers/links refer to that version of the code (first line original, second line mutated).
I will be going through these mutants, trying to identify significant ones, and then hopefully filing PRs to add relevant tests. If anyone else has time to spare, please help by looking at the above mutations, and creating corresponding test cases, to help improve the pandas test suite.
already filed prs
core/arrays/interval.py:866
core/arrays/sparse/array.py:1768
core/arrays/boolean.py:379
to investigate
core/algorithms.py:1592
core/apply.py:962
core/array_algos/take.py:254
core/arrays/arrow/array.py:1501
core/arrays/arrow/array.py:2120
core/arrays/arrow/array.py:2167
core/arrays/boolean.py:209
core/arrays/categorical.py:2079
core/arrays/categorical.py:2743
core/arrays/datetimes.py:283
core/arrays/datetimes.py:2271
core/arrays/datetimes.py:2346
core/arrays/timedeltas.py:376
core/frame.py:6451
core/generic.py:6628
core/generic.py:8664
core/generic.py:11199
core/generic.py:11689
core/generic.py:12637
core/groupby/groupby.py:5658
core/groupby/ops.py:785
core/indexes/base.py:5640
core/indexes/base.py:7180
core/indexes/multi.py:2141
core/indexes/multi.py:3704
core/indexes/range.py:753
core/indexes/range.py:771
core/indexing.py:2018
core/internals/base.py:359
core/internals/blocks.py:2454
core/internals/managers.py:217
core/internals/managers.py:1542
core/internals/managers.py:2074
core/methods/describe.py:161
core/resample.py:285
core/reshape/merge.py:1661
core/reshape/merge.py:2100
core/reshape/merge.py:2156
core/reshape/merge.py:2671
core/reshape/reshape.py:489
core/reshape/reshape.py:678
core/reshape/tile.py:387
core/window/ewm.py:387
To ignore (probably not significant)
these mutants involve non-significant permutation of arguments.
core/window/ewm.py:858 ignore since this function is symmetric.
core/apply.py:1441
core/arrays/arrow/array.py:136
core/arrays/arrow/extension_types.py:108
Code below was used to produce the output above:
already investigated, but not likely to result in Prs (please write why not)
TODO