单元测试返回函数的函数

时间:2016-04-23 00:35:45

标签: scala

我对这个符号<:以及返回类型T => T感到困惑。 这似乎返回一个函数。单元测试此功能时,我得到了一个功能。如何查看结果?

   def prepend[T <: Message](node: Set[String]): T => T = { out =>
    ...
   out.append("test")
   }

1 个答案:

答案 0 :(得分:3)

val t: T=>T = prepend(...)

表示T应该是扩展Message的任何类型。

现在函数相等/同构是不可能的TTBOMK。这意味着无法比较a == b,其中a:T =&gt; T和b:T =&gt; T。

您只能生成随机输入并确认它们给出相同的结果。不是平等的证明,但它可能总比没有好。

如果您的结果为t,则可以t(some T)作为static void setName(const char* str, char buf[16]) { int sz = MIN(strlen(str), 16); for (int i = 0; i < sz; i++) buf[i] = str[i]; buf[sz] = 0; } int main() { const char* string1 = "I am getting bug for this long string greater than 16 lenght); char mbuf[16]; setName(string,mybuf) // if I use buf in my code it is leading to spurious characters since length is greater than 16 . 运行。