Как правильно писать юнит-тест для класса работающего с файлом?
Нужно отделить логику чтения файла от логики его обработки — мало ли откуда данные могут придти — из БД, по сети, в качестве параметра метода.
Т.е. обработчик должен на входе принимать строку (а ещё лучше какой-нибудь поток байт/символов для последовательного чтения).
В этом случае юнит-тестирование сведётся к тестированию только логики процессинга, а, следовательно, данные могут быть просто зашиты в файл теста.
Если нужно тестирование ещё и чтения файла — отдельный юнит тест (но т.к. скорее всего вы используете какой-нибудь стандартный API вам это не потребуется).
> + ко всему меня еще смущает работа с файлами тем что это похоже на «интеграционный» тип тестирования, а этим не должен заниматься юнит-тест.

Юнит-тесту никто не запрещает прочитать файл в память до тестирования и отдавать тестируемому коду уже набор байт из памяти или что он там принимает на вход. Если ваш код требует на вход объект StreamPtr_t (какое странное название), то сделайте специально для тестов простейший MemoryStreamReader на 20 строчек. 

Если боитесь, что файл может прочитаться неправильно (хотя вряд ли такое возможно) и сломать вам тест, сделайте подсчет какой-нибудь контрольной суммы.

А специально превращать файлы в портянки вроде "\xff" смахивает на извращение.