Модульное тестирование структуры данных или, в более терминах Фортраны, производного типа данных, кажется довольно расплывчатым понятием. Возможно, вы хотите протестировать различные варианты использования переменных производного типа?
То, как вы формулируете свой вопрос, также предполагает, что вы, возможно, еще не научились писать функции, которые возвращают массивы, или я неверно истолковываю то, что вы пишете? Вы также можете написать функции, которые возвращают производные типы данных.
Возможно, вы могли бы быть более точным в том, что вы хотите делать с вашим типом, и это может указывать на то, какие юнит-тесты вам нужно написать.
РЕДАКТИРОВАТЬ: отвечать на комментарии ОП чуть длиннее, чем позволяет комментарий.
Долгосрочные программисты на Фортране, такие как я, на самом деле не знают, что такое модульное тестирование. Я остаюсь убежденным, что любой из опубликованных фреймворков, таких как fUnit, будет иметь долговечность и переносимость чисто фортрановского подхода. Каковы шансы, что я все еще буду программировать на Фортране через 10 лет - довольно высока. Каковы шансы, что я буду использовать машину с установкой Ruby через 10 лет - довольно мало. Так что моя мотивация к изучению ФУНИТа низкая.
Да, я пишу модульные тесты на Фортране. Что касается тестирования производных типов данных: я не понимаю, почему у вас проблемы с этим. Как вы юнит тест? Сначала вы записываете набор входных данных, и какие выходы вы ожидаете, что ваша подпрограмма даст, если дать эти входы Затем вы выполняете тесты и сравниваете то, что получаете, с тем, что ожидали получить. Это так просто. А размер и сложность ваших производных типов данных не меняет простоту задачи модульного тестирования, хотя может сделать ее более трудоемкой без поддержки инструментов.
Если вы тестируете большие структуры данных и вам нужно читать и записывать большие объемы данных, такой инструмент, как Matlab, становится очень полезным - вы можете очень легко генерировать наборы входных данных и сравнивать фактические и ожидаемые результаты как численно, так и графически.