Why make something public which is not need to be public? only for the tests? I don't think so.

Ok, WE is not a library which is used as an API. So it does not really harm to have everything public. It is more of a princple thing.