rubyx/test/fragments/test_functions.rb

38 lines
975 B
Ruby
Raw Normal View History

require_relative 'helper'
class TestFunctions < MiniTest::Test
include Fragments
2014-05-28 13:27:18 +02:00
def test_functions
@string_input = <<HERE
def minus(a,b)
a - b
end
def plus(a, b)
a + b
end
def times(a, b)
if( b == 0 )
a = 0
else
m = minus(b, 1)
t = times(a, m)
a = plus(a,t)
end
end
2014-06-07 22:22:32 +02:00
def t_seven()
tim = times(7,6)
tim.putint()
end
t_seven()
HERE
2014-06-12 20:40:25 +02:00
@should = [0x0,0x40,0x2d,0xe9,0x0,0x0,0x54,0xe3,0x10,0x0,0x0,0xa,0x8,0x0,0x2d,0xe9,0x4,0x30,0xa0,0xe1,0x1,0x40,0xa0,0xe3,0xf2,0xff,0xff,0xeb,0x8,0x0,0xbd,0xe8,0x0,0x50,0xa0,0xe1,0x8,0x0,0x2d,0xe9,0x5,0x40,0xa0,0xe1,0xf3,0xff,0xff,0xeb,0x8,0x0,0xbd,0xe8,0x0,0x60,0xa0,0xe1,0x10,0x0,0x2d,0xe9,0x6,0x40,0xa0,0xe1,0xeb,0xff,0xff,0xeb,0x10,0x0,0xbd,0xe8,0x0,0x30,0xa0,0xe1,0x0,0x0,0x0,0xea,0x0,0x30,0xa0,0xe3,0x3,0x0,0xa0,0xe1,0x0,0x80,0xbd,0xe8]
@output = " 42 "
2014-06-12 20:40:25 +02:00
@target = [:Object , :times]
parse
write "functions"
end
end