In the link that you posted, there is a snippet where you explicitly create the TestCaseData objects via a method linked via the TestCaseSource attribute. When you do this, you get control to set the name of each individual Test Case. See the last TestCaseData instance below.
public static IEnumerable TestCases
{
get
{
yield return new TestCaseData( 12, 3 ).Returns( 4 );
yield return new TestCaseData( 12, 2 ).Returns( 6 );
yield return new TestCaseData( 12, 4 ).Returns( 3 );
yield return new TestCaseData( 0, 0 )
.Throws(typeof(DivideByZeroException))
.SetName("DivideByZero")
.SetDescription("An exception is expected");
}
}