rubyx/test/compiler/fragments/test_while_fibo.rb

45 lines
747 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
2015-11-13 23:22:00 +01:00
while_plus( n - 2)
n = n - 1
2015-10-27 10:00:48 +01:00
int tmp = a
a = b
b = tmp + b
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
2015-11-13 19:44:18 +01:00
def test_while_fibo48
fibo 48
2015-11-13 23:22:00 +01:00
@length = 1241
# this is not the correct fibo, just what comes from wrapping (smaller than below)
2015-11-13 19:44:18 +01:00
check_return 512559680
2015-11-06 13:24:57 +01:00
end
2015-11-13 19:44:18 +01:00
# highest 32 bit fibo
def test_while_fibo47
fibo 47
2015-11-13 23:22:00 +01:00
@length = 1216
2015-11-13 19:44:18 +01:00
check_return 2971215073
end
2014-06-05 15:27:25 +02:00
end