```ruby
require File.dirname(__FILE__) + '/../../spec_helper'
require 'ostruct'

describe "OpenStruct#table" do
  before(:each) do
    @os = OpenStruct.new("age" => 20, "name" => "John")
  end
  
  it "is protected" do
    @os.protected_methods.map {|m| m.to_s }.should include("table")
  end
  
  it "returns self's method/value table" do
    @os.send(:table).should == { :age => 20, :name => "John" }
  end
end
```

Use have_protected_instance_method matcher for 1.9 compat.
user
```ruby
require File.dirname(__FILE__) + '/../../spec_helper'
require 'ostruct'

describe "OpenStruct#table" do
  before(:each) do
    @os = OpenStruct.new("age" => 20, "name" => "John")
  end
  
  it "is protected" do
    OpenStruct.should have_protected_instance_method(:table)
  end
  
  it "returns self's method/value table" do
    @os.send(:table).should == { :age => 20, :name => "John" }
  end
end
```
assistant