After reading several threads on the subject on this site, I have come to the following conclusion :
To test Private Methods, one has two choices :
Use the PrivateObject but the Testing Tool of VStudio 2012 is crappy when having lots of tests and it is advised to use NUnit instead But PrivateObject uses a namespace which comes in collision with those of NUnit for Asserts for example, so, it should be avoided.
Transform all private members in protected members (attributes + methods) and make a wrapper class inherits the tested class and call the protected method through public method.
The second choice works BUT it seems to me very awkward to break OO encapsulation for Test driven reasons.
I am not asking to discuss whether private methods should be tested or not (point already debated in other threads) , or use another tool, or defend VStudio (idem).
I'd rather hear your comments on sacrificying OO principles over testability.
Thank you.