В C# я обычно разделял тесты на отдельный блок.
В Python - до сих пор - я был склонен или писать doctests, где тест находится в docstring функции или поместил их в if __name__ == "__main__"
блок у основания модуля.
Похоже, это хорошая статья, которая может помочь.
http://www.c-sharpcorner.com/uploadfile/mahesh/user-control-in-wpf/
На самом деле, похоже, он делает именно то, что вы пытаетесь сделать. Что касается доступа к содержимому TextBox извне пользовательского элемента управления, создайте общедоступное свойство, как показано в статье.
public string FileName
{
get { return FBCTextBox.Text; }
set { FBCTextBox.Text = value; }
}