IronRuby.Tests.Tests.Scenario_RubyProcCallArgs1 C# (CSharp) Method

Scenario_RubyProcCallArgs1() public method

public Scenario_RubyProcCallArgs1 ( ) : void
return void
        public void Scenario_RubyProcCallArgs1() {
            TestOutput(@"
lambda { |x| p x }.call rescue p $!
lambda { |x| p x }.call 1
lambda { |x| p x }.call 1,2 rescue p $!
lambda { |x| p x }.call []
lambda { |x| p x }.call [1]
lambda { |x| p x }.call [1,2]
lambda { |x| p x }.call(*[1])
lambda { |x,| p x }.call 1
lambda { |x,| p x }.call [1]
lambda { |x,| p x }.call [1,2]
lambda { |(x,y)| p [x,y] }.call [1,2]
", @"
#<ArgumentError: wrong number of arguments (0 for 1)>
1
#<ArgumentError: wrong number of arguments (2 for 1)>
[]
[1]
[1, 2]
1
1
[1]
[1, 2]
[1, 2]
");

            TestOutput(@"
proc { |x| p x }.call
proc { |x| p x }.call 1
proc { |x| p x }.call 1,2
proc { |x| p x }.call 1,2,3
proc { |x| p x }.call 1,2,3,4
proc { |x| p x }.call 1,2,3,4,5
proc { |x| p x }.call []
proc { |x| p x }.call [1]
proc { |x| p x }.call [1,2]
proc { |x| p x }.call(*[])
proc { |x| p x }.call(*[1])
proc { |x| p x }.call(*[1,2])
proc { |x| p x }.call(1,*[2])
proc { |x| p x }.call(1,2,*[3])
proc { |x| p x }.call(1,2,3,*[4])
proc { |x| p x }.call(1,2,3,4,*[5])
proc { |x| p x }.call(1,2,3,4,5,*[6])

proc { |x,| puts x.inspect }.call 1
proc { |x,| puts x.inspect }.call [1]
proc { |x,| puts x.inspect }.call [1,2]
proc { |(x,y)| puts [x,y].inspect }.call [1,2]
", @"
nil
1
1
1
1
1
[]
[1]
[1, 2]
nil
1
1
1
1
1
1
1
1
1
1
[1, 2]
");
        }
Tests