Unit Testing Only for Public Functions?

Hi

I had following Questions regarding Unit testing

  1. Do we only unit test Public function ? and not the private ones ?

  2. Lets say if I am assigned to test Restaurant Parser , and It only has one public function that is parseRestaurant(file) , then If I test it with foodfile and restaurant file as json Files , its more like isloated component test than unit tests .

So firstly should I only test public functions ? And If yes should the respective person give me more public functions ??

Thanks