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 47 48 49 50 51 52 53 54 55 56
|
require File.expand_path('../../spec_helper', __FILE__)
describe "Ruby numbers in various ways" do
it "the standard way" do
435.should == 435
end
it "with underscore separations" do
4_35.should == 435
end
it "with some decimals" do
4.35.should == 4.35
end
it "with decimals but no integer part should be a SyntaxError" do
lambda { eval(".75") }.should raise_error(SyntaxError)
lambda { eval("-.75") }.should raise_error(SyntaxError)
end
# TODO : find a better description
it "using the e expression" do
1.2e-3.should == 0.0012
end
it "the hexdecimal notation" do
0xffff.should == 65535
end
it "the binary notation" do
0b01011.should == 11
end
it "octal representation" do
0377.should == 255
end
ruby_version_is '' ... '1.9' do
it "character to numeric shortcut" do
?z.should == 122
end
it "character with control character to numeric shortcut" do
# Control-Z
?\C-z.should == 26
# Meta-Z
?\M-z.should == 250
# Meta-Control-Z
?\M-\C-z.should == 154
end
end
end
|