test/test_has_arguments.rb in rubikon-0.4.0 vs test/test_has_arguments.rb in rubikon-0.4.1
- old
+ new
@@ -19,80 +19,90 @@
class TestHasArguments < Test::Unit::TestCase
context 'A parameter with arguments' do
should 'allow a Numeric as argument count' do
- @has_arg = HasArg.new(1)
- assert_equal 1..1, @has_arg.arg_count
- assert_nil @has_arg.arg_names
+ has_arg = HasArg.new(1)
+ assert_equal 1..1, has_arg.arg_count
+ assert_nil has_arg.arg_names
end
should 'allow a Range as argument count' do
- @has_arg = HasArg.new(1..3)
- assert_equal 1..3, @has_arg.arg_count
- assert_nil @has_arg.arg_names
+ has_arg = HasArg.new(1..3)
+ assert_equal 1..3, has_arg.arg_count
+ assert_nil has_arg.arg_names
end
should 'allow an Array as argument count' do
- @has_arg = HasArg.new([2, 5, 6])
- assert_equal 2..6, @has_arg.arg_count
- assert_nil @has_arg.arg_names
+ has_arg = HasArg.new([2, 5, 6])
+ assert_equal 2..6, has_arg.arg_count
+ assert_nil has_arg.arg_names
end
should 'allow a Symbol Array as argument names' do
- @has_arg = HasArg.new([:arg1, :arg2, :arg3])
- assert_equal 3..3, @has_arg.arg_count
- assert_equal [:arg1, :arg2, :arg3], @has_arg.arg_names
+ has_arg = HasArg.new([:arg1, :arg2, :arg3])
+ assert_equal 3..3, has_arg.arg_count
+ assert_equal [:arg1, :arg2, :arg3], has_arg.arg_names
end
should 'only have required arguments if argument count is > 0' do
- @has_arg = HasArg.new(2)
- assert !@has_arg.args_full?
- assert @has_arg.more_args?
- @has_arg << 'argument'
- assert_equal %w{argument}, @has_arg.args
+ has_arg = HasArg.new(2)
+ assert !has_arg.args_full?
+ assert has_arg.more_args?
+ has_arg << 'argument'
+ assert_equal %w{argument}, has_arg.args
assert_raise MissingArgumentError do
- @has_arg.check_args
+ has_arg.check_args
end
- @has_arg << 'argument'
- assert @has_arg.args_full?
- assert !@has_arg.more_args?
- assert_equal %w{argument argument}, @has_arg.args
+ has_arg << 'argument'
+ assert has_arg.args_full?
+ assert !has_arg.more_args?
+ assert_equal %w{argument argument}, has_arg.args
assert_raise ExtraArgumentError do
- @has_arg << 'argument'
+ has_arg << 'argument'
end
- assert_equal %w{argument argument}, @has_arg.args
+ assert_equal %w{argument argument}, has_arg.args
end
should 'have required and optional arguments if argument count is < 0' do
- @has_arg = HasArg.new(-1)
- assert !@has_arg.args_full?
- assert @has_arg.more_args?
+ has_arg = HasArg.new(-1)
+ assert !has_arg.args_full?
+ assert has_arg.more_args?
assert_raise MissingArgumentError do
- @has_arg.check_args
+ has_arg.check_args
end
- @has_arg << 'argument'
- assert @has_arg.args_full?
- assert @has_arg.more_args?
- assert_equal %w{argument}, @has_arg.args
+ has_arg << 'argument'
+ assert has_arg.args_full?
+ assert has_arg.more_args?
+ assert_equal %w{argument}, has_arg.args
end
should 'only have optional arguments if argument count is 0' do
- @has_arg = HasArg.new(0)
- assert @has_arg.args_full?
- assert @has_arg.more_args?
- @has_arg << 'argument'
- assert_equal %w{argument}, @has_arg.args
+ has_arg = HasArg.new(0)
+ assert has_arg.args_full?
+ assert has_arg.more_args?
+ has_arg << 'argument'
+ assert_equal %w{argument}, has_arg.args
end
should 'provide named arguments' do
- @has_arg = HasArg.new([:named])
- @has_arg << 'argument'
- assert_equal 'argument', @has_arg[:named]
- assert_equal 'argument', @has_arg.named
+ has_arg = HasArg.new([:named])
+ has_arg << 'argument'
+ assert_equal 'argument', has_arg[:named]
+ assert_equal 'argument', has_arg.named
assert_raise NoMethodError do
- @has_arg.not_named
+ has_arg.not_named
end
+ end
+
+ should 'call its code block if it is activated' do
+ block_run = false
+ has_arg = HasArg.new nil do
+ block_run = true
+ end
+ has_arg.active!
+ assert has_arg.active?
+ assert block_run
end
end
end