Скажем, у меня есть подпись SML ALPHA. Но у меня также есть несколько структур/функторов alpha1, alpha2 и т. Д., Которые я хочу использовать с ALPHA.SML-подпись с несколькими структурами
Мой вопрос в том, что если бы у меня была структура, выполняющая модульное тестирование вне этих модулей, как бы я только протестировал подпись ALPHA, не указывая, какую структуру я использую?
Чтобы положить вещи в перспективе, вот некоторый код:
signature ALPHA =
sig
val func1
val func2
end
structure alpha1 :> ALPHA =
struct
fun func1 = (* Implementation *)
fun func1 = (* Implementation *)
end
functor alpha2 (D: DATA) :> ALPHA =
struct
fun func1 = D.x
fun func2 = D.y
end
(** Unit testing module **)
structure Tester =
struct
(** What test cases do I put here? **)
end