Это зависит от того, что означает «правильность» для этой функции для вас, разработчика.Я бы преобразовал известную строку в вывод, проверил ее правильность в соответствии с любыми критериями, а затем сравнил, что результат функции соответствует полученному мной результату.Примерно так:
const string expectedBase64String = "abc123$$%++";
const string testString = "Not the base 64 source of above";
Assert.AreEqual(expected, Utility.EncodeTo64(testString));
По сути, вы правы ... вам нужно полагаться на какое-то другое определение правильности, отличное от поведения вашего кода, если только все, что вам нужно проверить, это "этовсе еще производя то, что он сделал в первый раз, когда я его запустил ".