Skip to content

Commit fab2993

Browse files
committed
Add spec for ObjectSpace#memsize_of
1 parent cf21dc0 commit fab2993

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
require_relative '../../spec_helper'
2+
require 'objspace'
3+
4+
describe "ObjectSpace.memsize_of" do
5+
it "returns 0 for true, false and nil" do
6+
ObjectSpace.memsize_of(true).should == 0
7+
ObjectSpace.memsize_of(false).should == 0
8+
ObjectSpace.memsize_of(nil).should == 0
9+
end
10+
11+
it "returns 0 for small Integers" do
12+
ObjectSpace.memsize_of(42).should == 0
13+
end
14+
15+
it "returns an Integer for an Object" do
16+
obj = Object.new
17+
ObjectSpace.memsize_of(obj).should be_kind_of(Integer)
18+
ObjectSpace.memsize_of(obj).should > 0
19+
end
20+
21+
it "is larger if the Object has more instance variables" do
22+
obj = Object.new
23+
before = ObjectSpace.memsize_of(obj)
24+
100.times do |i|
25+
obj.instance_variable_set(:"@foo#{i}", nil)
26+
end
27+
after = ObjectSpace.memsize_of(obj)
28+
after.should > before
29+
end
30+
end

0 commit comments

Comments
 (0)