【发布时间】:2010-09-20 02:18:29
【问题描述】:
我似乎无法测试我使用 test-engine/racket-tests 包在 PLT Racket 中编写的函数。
代码如下。它返回多个值(不知道为什么不称它们为元组)。
(define (euclid-ext a b)
(cond
[(= b 0) (values a 1 0)]
[else (let-values ([(d x y) (euclid-ext b (modulo a b))])
(values d y (- x (* (quotient a b) y))))]
))
问题是使用以下格式对其进行测试。以下是我尝试过的一些。
(check-expect (values (euclid-ext 99 78)) (values 3 -11 14))
(check-expect (euclid-ext 99 78) (values 3 -11 14))
(check-expect (list (euclid-ext 99 78)) (list 3 -11 14))
现在,这会产生错误context expected 1 value, received 3 values: 3 -11 14。无论我如何尝试(使用列表、值、无值等),我都无法成功评估此测试用例。
【问题讨论】:
标签: unit-testing scheme