I have a public function F in my package, which first calls GetX then calls FilterY, then return the filtered results.
Both GetX and FilterY are public, as I want thorough unit tests for them. But, they serve no purpose, they are unlikely to be called alone by any users of my package. Only F is going to be called, thus making GetX and FilterY good candidates for private functions.
Should I keep these 2 methods public just for the sake of unit tests ? Bear in mind there is some complex logic in FilterY so it needs a lot of unit test cases.