diff options
Diffstat (limited to 'test/ostruct')
-rw-r--r-- | test/ostruct/test_ostruct.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/ostruct/test_ostruct.rb b/test/ostruct/test_ostruct.rb index dca2382b2b..1826e40e53 100644 --- a/test/ostruct/test_ostruct.rb +++ b/test/ostruct/test_ostruct.rb @@ -73,4 +73,16 @@ class TC_OpenStruct < Test::Unit::TestCase assert_raise(NoMethodError) { o[:foo] } end + def test_to_h + h = {name: "John Smith", age: 70, pension: 300} + os = OpenStruct.new(h) + to_h = os.to_h + assert_equal(h, to_h) + + to_h[:age] = 71 + assert_equal(70, os.age) + assert_equal(70, h[:age]) + + assert_equal(h, OpenStruct.new("name" => "John Smith", "age" => 70, pension: 300).to_h) + end end |