1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
require File.expand_path('../../../spec_helper', __FILE__)
describe "Bignum#size" do
compliant_on :ironruby do
it "returns the number of bytes in the machine representation in multiples of four" do
(256**7).size.should == 8
(256**8).size.should == 12
(256**9).size.should == 12
(256**10).size.should == 12
(256**10-1).size.should == 12
(256**11).size.should == 12
(256**12).size.should == 16
(256**20-1).size.should == 20
(256**40-1).size.should == 40
end
end
deviates_on :rubinius, :jruby do
it "returns the number of bytes in the machine representation" do
(256**7).size .should == 8
(256**8).size .should == 9
(256**9).size .should == 10
(256**10).size .should == 11
(256**10-1).size.should == 10
(256**11).size .should == 12
(256**12).size .should == 13
(256**20-1).size .should == 20
(256**40-1).size .should == 40
end
end
deviates_on :maglev do
it "returns the number of bytes in the machine representation in multiples of four" do
(256**7).size .should == 8
(256**8).size .should == 16
(256**9).size .should == 16
(256**10).size .should == 16
(256**10-1).size.should == 16
(256**11).size .should == 16
(256**12).size .should == 20
(256**20-1).size.should == 24
(256**40-1).size.should == 44
end
end
end
|