Есть класс, осуществляющий операции с файловай системой. Кроме непосредственной записи и чтения из файлов, этот класс содержит некоторую логику — проверку валидности имен и т.п. Как правильно организовать тестирование такого класса? Нужно ли строить абстракцию поверх стандартного в .NET механизма работы с файлами? Или имеются готовые библиотеки-обертки для этих целей?