Замечание насчет exception safety + RAII:
Если вы используете boost::shared_ptr, то логично создавать объекты с помощью std::make_shared, а не использовать для этого сырой указатель (fileRaw и fileRaw2):
filePtr = boost::make_shared<std::fstream>( outputfile.c_str(), ios::in | ios::out | ios::ate | ios::binary );
. Ну и выкинуть использование fileRaw и fileRaw2.
Код юнит-теста — это тоже код, поэтому лучше не использовать в тесте магических констант: 0xE9 и пр.
Вынесите их в отдельное пространство имен:
namespace consts
{
const int ConstantName = 0xE9;
const char OutputFileName [] = "Correct32.bin";
}
Естественно, при этом константам дать осмысленные имена.
Также, я бы не стал использовать в юнит-тесте работу с файлами, вместо этого я бы использовал std::streambuf для чтения/записи данных в памяти — но это возможно, если в вашей программе есть механизм для ввода/вывода не только через fstream