require 'runit/testcase'
require 'runit/cui/testrunner'
require 'rrb/remove_parameter'
class TestScript_RemoveParameter < RUNIT::TestCase
def test_get_parameter_index
script = RRB::Script.new_from_filenames('samples/remove_parameter_sample.rb')
assert_equals(0, script.get_parameter_index(RRB::MN.new(RRB::NS.new('Derived'),
'target_function'),
'heke'))
assert_equals(0, script.get_parameter_index(RRB::MN.new(RRB::NS.new('Derived'),
'using_parameter_function'),
'heke'))
assert_equals(1, script.get_parameter_index(RRB::MN.new(RRB::NS.new('Derived'),
'using_parameter_function'),
'doga'))
end
def test_remove_parameter?
script = RRB::Script.new_from_filenames('samples/remove_parameter_sample.rb')
assert_equals(true,
script.remove_parameter?(RRB::MN.new(RRB::NS.new('Derived'),
'target_function'),
'heke'))
assert_equals(false,
script.remove_parameter?(RRB::MN.new(RRB::NS.new('Derived'),
'target_function'),
'hoge'))
assert_equals("hoge: no such parameter", script.error_message)
assert_equals(false,
script.remove_parameter?(RRB::MN.new(RRB::NS.new('Derived'),
'using_parameter_function'),
'heke'))
assert_equals("heke is used",
script.error_message)
assert_equals(false,
script.remove_parameter?(RRB::MN.new(RRB::NS.new('Derived'),
'base_function'),
'heke'))
assert_equals("Derived#base_function isn't defined",
script.error_message)
end
def test_remove_parameter
script = RRB::Script.new_from_filenames('samples/remove_parameter_sample.rb')
script.remove_parameter(RRB::MN.new(RRB::NS.new('Derived'),
'target_function'),
'heke')
result = ''
script.result_to_io( result )
assert_equals( File.open('samples/remove_parameter_sample_after.rb').read,
result )
end
end
class TestScriptFile_RemoveParameter < RUNIT::TestCase
end
if $0 == __FILE__
if ARGV.size == 0
suite = RUNIT::TestSuite.new
suite.add_test( TestScriptFile_RemoveParameter.suite )
suite.add_test( TestScript_RemoveParameter.suite )
else
suite = RUNIT::TestSuite.new
ARGV.each do |testmethod|
suite.add_test(TestScript_RemoveParameter.new(testmethod))
end
end
RUNIT::CUI::TestRunner.run(suite)
end
syntax highlighted by Code2HTML, v. 0.9.1