使用 Scala Test 测试生成的柯里化函数
Testing a generated curried function with Scala Test
我很难尝试创建一个 Scala 测试来检查这个函数:
def curry[A,B,C](f: (A,B) => C): A => (B => C) =
a => b => f(a,b)
我的第一个想法是验证如果给定一个函数 fx
传递给 curry(fx)
函数,是否会 return 它的柯里化版本。
有什么建议吗?
测试它的一种方法是将不同的 f
传递给它,看看是否返回了您期望的功能。例如,您可以测试 returns 参数作为元组的 f:
def f(x: String, y: Int) = (x, y)
curry(f)("4")(7) must be(("4", 7))
IMO,针对一些不同的功能 f
和一些不同的 a
和 b
测试它足以确保像这样微不足道的东西按预期工作.
我很难尝试创建一个 Scala 测试来检查这个函数:
def curry[A,B,C](f: (A,B) => C): A => (B => C) =
a => b => f(a,b)
我的第一个想法是验证如果给定一个函数 fx
传递给 curry(fx)
函数,是否会 return 它的柯里化版本。
有什么建议吗?
测试它的一种方法是将不同的 f
传递给它,看看是否返回了您期望的功能。例如,您可以测试 returns 参数作为元组的 f:
def f(x: String, y: Int) = (x, y)
curry(f)("4")(7) must be(("4", 7))
IMO,针对一些不同的功能 f
和一些不同的 a
和 b
测试它足以确保像这样微不足道的东西按预期工作.