Improve test coverage of the public API
- Dominant language
- Kotlin
- Stars
- 1.1k
- Forks
- 83
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 30
Description
Some functions in the public API are not covered with tests.
The full report regarding the coverage is attached (it can also be generated locally with Coverage in IDEA).
Here is a list of files in the `api` module having at least one function that is not deprecated and has zero coverage (can be looked up in the report):
1. cast.kt
2. chunked.kt
3. concat.kt
4. constructors.kt
5. convert.kt
6. convertTo.kt
7. cumSum.kt
8. DataColumnType.kt
9. DataFrameGet.kt
10. DataRowApi.kt
11. describe.kt
12. drop.kt
13. explode.kt
14. format.kt
15. formatHeader.kt
16. gather.kt
17. inferType.kt
18. insert.kt
19. into.kt
20. join.kt
21. JsonPath.kt
22. map.kt
23. max.kt
24. mean.kt
25. median.kt:
26. merge.kt
27. min.kt
28. move.kt
29. NameValueProperty (maybe shouldn’t be tested, very simple)
30. Nulls.kt
31. parse.kt
32. ParserOptions.kt
33. percentile.kt
34. pivot.kt (maybe fine)
35. reorder.kt
36. replace.kt
37. reverse.kt
38. schema.kt
39. shuffle.kt
40. single.kt
41. sort.kt
42. split.kt
43. std.kt
44. sum.kt
45. tail.kt
46. take.kt
47. toDataFrame.kt
48. toSequence.kt
49. typeConversions.kt
50. unfold.kt
51. update.kt (cast and toString methods?)
52. valueCounts.kt
53. values.kt
[htmlReport.zip](https://github.com/user-attachments/files/28023191/htmlReport.zip)
We might want to start with them, see what really should be tested out of the functions in these files, add the tests, and later scan again looking for more subtle testing issues.
Contributor guide
Research direction
Start with the attached htmlReport.zip or regenerate the coverage report locally with Coverage in IDEA, then inspect the listed files in the api module. Add tests for non-deprecated functions with zero coverage, rerun the coverage report, and confirm that the relevant public API coverage has improved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100