Генератор тестовых данных для C++

При unit-тестированиии кода рано или поздно встает вопрос тестовых данных. И если в одном случае достаточно просто несколько жестко зашитых переменных, то в других случаях необходимы сколько-нибудь большие и случайные данные. В управляемом мире нет проблем с генерацией пользовательских типов (взять тот же Autofixture), но мир C++ зачастую вызывает боль и страдание (поправьте меня, если это не так). Не так давно я познакомился с замечательной библиотекой boost::di и под ее влиянием у меня начала созревать идея библиотеки, которая позволила бы C++ программистам генерировать пользовательские типы данных, забитых случайными значаниями, и это не потребовало бы предварительного их описания. Получилось что-то вроде:
struct dummy_member{
float a;
int b;
};
struct dummy{
explicit dummy(dummy_member val, std::string c) : val_(val), c_(c) {}
private:
dummy_member val_;
std::string c_;
};
int main(int argc, char* argv){
auto d = datagen::random<dummy>();
return 0;
}→ Ссылка на код. Библиотека header-only,C++14. Всех интересующихся прошу под кат.







Мы о многом рассказали в 
Поэзия — та же добыча радия.
Не так давно у со мной произошел довольно-таки интересный инцидент, в котором был замешан один из преподавателей одного колледжа информатики.
Как разработчик JavaScript вы можете целый день программировать, но не встретить ни одного статического типа. Так зачем думать об их изучении?


Коллекция онлайн-курсов, подготовленных преподавателями Академического университета (СПбАУ РАН) и Computer Science Center, насчитывает уже почти 20 бесплатных курсов по программированию и математике. 
В недавнем