@devadideva
Если бы мне надо было проверить правильность заполнения структуры функцией socket(), я бы не писал тест для этой функции совсем :)
Я бы сделал логику этой публичной функции тривиальной, например линейная серия вызовов внутренних функций, которые не доступны конечному пользователю socket(), и вот их бы уже тестировал.
Эти функции уже можно написать однозначно вычисляющими результат. Главное не сильно увлечься этим делом и не загонять каждую строку кода в отдельную функцию
@tech