rubyx/test/compiler/fragments/test_while_fibo.rb

45 lines
732 B
Ruby
Raw Normal View History

require_relative 'helper'
class TestWhileFragment < MiniTest::Test
include Fragments
2015-11-06 13:24:57 +01:00
def fibo num
@string_input = <<HERE
class Object
int fibonaccit(int n)
2015-10-27 10:00:48 +01:00
int a = 0
int b = 1
n = n - 1
2015-10-27 10:00:48 +01:00
while_plus( n )
int tmp = a
a = b
b = tmp + b
n = n - 1
end
b.putint()
return b
end
2014-06-07 22:22:32 +02:00
int main()
2015-11-06 13:24:57 +01:00
return fibonaccit( 100 )
end
end
HERE
2015-11-06 13:24:57 +01:00
@string_input.sub!( "100" , num.to_s )
end
def test_while_fibo100
2015-11-06 13:24:57 +01:00
fibo 100
@length = 2345
#TODO bug, int max is 92 ruby converts to biginteger.
2015-11-06 13:24:57 +01:00
check_return 354224848179261915075
end
def test_while_fibo92
2015-11-06 13:24:57 +01:00
fibo 92
@length = 2161
2015-11-06 13:24:57 +01:00
check_return 7540113804746346429
end
2014-06-05 15:27:25 +02:00
end