Кажется, я не могу протестировать функцию, написанную в PLT Racket, с использованием пакета test-engine/racket-tests
.
Код указан ниже. Он возвращает несколько значений (не уверен, почему они не называют их кортежами).
(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
. Независимо от того, как я пытаюсь это сделать (со списками, значениями, без значений и т. Д.), Я не могу заставить этот тестовый пример успешно оцениваться.