Это ограничение .NET. Только константы и некоторые ограниченные типы данных могут быть использованы в качестве аргумента для любого атрибута. Это не относится к NUnit.
Конечно, используя атрибуты таким образом, мы подвергли себя этому ограничению, но это проблема для следующей структуры, которую мы разрабатываем.
То, что вы пытаетесь сделать, очень элегантно и (конечно) функционально. NUnit обычно ожидает аргументы данных, а не функциональные аргументы для тестирования. Однако это сработало бы, если бы вы могли передать аргумент.
Способ сделать это - использовать атрибут TestCaseSource
. Дайте ему имя статического массива, содержащего ваши три функции, и он должен (в конце концов) работать.
Я сожалею, что не могу перевести ответ в рабочий код F # для вас, но, поскольку вы продвинулись так далеко, держу пари, вы можете понять это. : -)