/ / ricorsione in coda Fibonacci in Ruby - Errore del test unitario - ruby

ricorsione della coda Fibonacci in Rubino - Errore test unitario - Rubino

Ho qui un problema con la mia ricorsione della coda Fibonacci in Ruby.

Quando eseguo il mio codice ricevo sempre questo errore. Dove ho sbagliato?

  1) Error:
test_fibo_rek(Test_fibo_rek):
ArgumentError: wrong number of arguments (1 for 3)
/Test_Fibonacci.rb:14:in `test_fibo_rek"

1 tests, 0 assertions, 0 failures, 1 errors, 0 skips

def fibo(n)
check_pre(
nat?(n))
fibo_rek(n,0,1)
end

def fibo_rek(n,fibo1,fibo2)
if n == 0
return fibo1
else
fibo_rek(n-1,fibo2,fibo1 + fibo2)
end
end

class Test_fibo_rek < Test::Unit::TestCase
def test_fibo_rek

assert_equal(0,fibo_rek(0))
assert_equal(13,fibo_rek(7))


assert_raise(RuntimeError) {fibo_rek("10")}
assert_raise(RuntimeError) {fibo_rek(-5)}
end
end

risposte:

3 per risposta № 1

Nelle tue affermazioni stai chiamando fib_rek(0) ecc. anche se fib_rek accetta 3 argomenti, non 1.

Volevi chiamare fib(0) - fib è quello che accetta solo un argomento.