2014-05-25 07:43:07 +02:00
|
|
|
require_relative 'helper'
|
|
|
|
|
|
|
|
class TestFunctions < MiniTest::Test
|
|
|
|
include Fragments
|
|
|
|
|
2014-05-28 13:27:18 +02:00
|
|
|
def test_functions
|
2014-05-25 07:43:07 +02:00
|
|
|
@string_input = <<HERE
|
2015-10-05 23:27:13 +02:00
|
|
|
class Object
|
2015-09-20 15:30:07 +02:00
|
|
|
|
2015-10-05 23:27:13 +02:00
|
|
|
int times(int a, int b)
|
2015-10-27 10:00:48 +01:00
|
|
|
if_zero( b )
|
2015-10-05 23:27:13 +02:00
|
|
|
a = 0
|
|
|
|
else
|
2015-10-27 10:00:48 +01:00
|
|
|
int m = b - 1
|
2015-10-05 23:27:13 +02:00
|
|
|
int t = times(a, m)
|
2015-10-27 10:00:48 +01:00
|
|
|
a = a + t
|
2015-10-05 23:27:13 +02:00
|
|
|
end
|
2015-10-27 10:00:48 +01:00
|
|
|
return a
|
2015-10-05 23:27:13 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
int t_seven()
|
2015-11-05 16:00:41 +01:00
|
|
|
int tim = times(8,10)
|
2015-10-05 23:27:13 +02:00
|
|
|
tim.putint()
|
2015-11-05 16:00:41 +01:00
|
|
|
return tim
|
2015-10-05 23:27:13 +02:00
|
|
|
end
|
2014-06-07 22:22:32 +02:00
|
|
|
|
2015-10-05 23:27:13 +02:00
|
|
|
int main()
|
2015-10-27 10:00:48 +01:00
|
|
|
return t_seven()
|
2015-10-05 23:27:13 +02:00
|
|
|
end
|
|
|
|
end
|
2014-05-25 07:43:07 +02:00
|
|
|
HERE
|
2015-11-07 21:20:21 +01:00
|
|
|
@length = 483
|
2015-11-06 23:13:57 +01:00
|
|
|
check_return 80
|
2014-05-25 07:43:07 +02:00
|
|
|
end
|
2015-11-06 23:13:57 +01:00
|
|
|
|
|
|
|
def test_class_method
|
|
|
|
@string_input = <<HERE
|
|
|
|
class Object
|
|
|
|
|
|
|
|
int self.some()
|
|
|
|
return 5
|
|
|
|
end
|
|
|
|
|
|
|
|
int main()
|
|
|
|
return Object.some()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
HERE
|
2015-11-07 21:20:21 +01:00
|
|
|
@length = 33
|
2015-11-06 23:13:57 +01:00
|
|
|
check_return 5
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_class_method_fails
|
|
|
|
@string_input = <<HERE
|
|
|
|
class Object
|
|
|
|
int main()
|
|
|
|
return Object.som()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
HERE
|
|
|
|
assert_raises {check}
|
|
|
|
end
|
|
|
|
|
|
|
|
|
2014-05-25 07:43:07 +02:00
|
|
|
end
|