# Test recursive functions $factorial = (n) -> { if (n <= 1) { return 1 } else { return n * factorial(n - 1) } }; $fibonacci = (n) -> { if (n <= 1) { return n } else { return fibonacci(n - 1) + fibonacci(n - 2) } }; $countdown = (n) -> { if (n <= 0) { return "Done!" } else { return n " " countdown(n - 1) } }; BEGIN { print "=== Testing Recursive Functions ===" # Test factorial result = factorial(5) expect_equal(result, 120, "factorial(5) should return 120") print "✓ factorial(5) = " result result = factorial(3) expect_equal(result, 6, "factorial(3) should return 6") print "✓ factorial(3) = " result # Test fibonacci result = fibonacci(6) expect_equal(result, 8, "fibonacci(6) should return 8") print "✓ fibonacci(6) = " result result = fibonacci(4) expect_equal(result, 3, "fibonacci(4) should return 3") print "✓ fibonacci(4) = " result # Test countdown result = countdown(3) expect_equal(result, "3 2 1 Done!", "countdown(3) should return '3 2 1 Done!'") print "✓ countdown(3) = " result print "🎉 All recursive function tests passed!" }