summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-struct/test
diff options
context:
space:
mode:
authorCarson McDonald <[email protected]>2014-01-16 17:54:56 -0500
committerCarson McDonald <[email protected]>2014-01-16 17:54:56 -0500
commitd3a057caed49ca437d3b6923948b490eb951c69f (patch)
treebf6ca670a18bec1ee69078b041f1c4ccaf3f27f4 /mrbgems/mruby-struct/test
parent38973f15668d8d7da3711dd218a858ab210c90a2 (diff)
downloadmruby-d3a057caed49ca437d3b6923948b490eb951c69f.tar.gz
mruby-d3a057caed49ca437d3b6923948b490eb951c69f.zip
Increase test coverage of mruby-struct
Diffstat (limited to 'mrbgems/mruby-struct/test')
-rw-r--r--mrbgems/mruby-struct/test/struct.rb30
1 files changed, 29 insertions, 1 deletions
diff --git a/mrbgems/mruby-struct/test/struct.rb b/mrbgems/mruby-struct/test/struct.rb
index d79b30c0e..70f8a78f8 100644
--- a/mrbgems/mruby-struct/test/struct.rb
+++ b/mrbgems/mruby-struct/test/struct.rb
@@ -73,5 +73,33 @@ if Object.const_defined?(:Struct)
cc = c.new(1,2)
cc.select{|v| v % 2 == 0} == [2]
end
-end
+ assert('large struct') do
+ c = Struct.new(:m1, :m2, :m3, :m4, :m5, :m6, :m7, :m8, :m9, :m10, :m11, :m12, :m13)
+ cc = c.new(1,2,3,4,5,6,7,8,9,10,11,12,13)
+ assert_equal 1, cc.m1
+ assert_equal 2, cc.m2
+ assert_equal 3, cc.m3
+ assert_equal 4, cc.m4
+ assert_equal 5, cc.m5
+ assert_equal 6, cc.m6
+ assert_equal 7, cc.m7
+ assert_equal 8, cc.m8
+ assert_equal 9, cc.m9
+ assert_equal 10, cc.m10
+ assert_equal 13, cc.m13
+ end
+
+ assert('wrong struct arg count') do
+ c = Struct.new(:m1)
+ assert_raise ArgumentError do
+ cc = c.new(1,2,3)
+ end
+ end
+
+ assert('struct inspect') do
+ c = Struct.new(:m1, :m2, :m3, :m4, :m5)
+ cc = c.new(1,2,3,4,5)
+ assert_equal "#<struct #{c.inspect} m1=1, m2=2, m3=3, m4=4, m5=5>", cc.inspect
+ end
+end