Sometimes you want to write unit tests against methods that aren't publicly exposed. Rather than make these private methods public, which is a bad idea, you can specify friendly assemblies to which your methods will be exposed.
All you have to do is edit the AssemblyInfo.cs of the assembly you want to expose to your tests and add the following line ("SampleTestProject" is the name of the test assembly):
[assembly: InternalsVisibleTo("SampleTestProject")]
After this change in the assembly.cs and a rebuild, your “internal” signed methods will be exposed.