diff options
Diffstat (limited to 'spec/ruby/core/integer/even_spec.rb')
| -rw-r--r-- | spec/ruby/core/integer/even_spec.rb | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/spec/ruby/core/integer/even_spec.rb b/spec/ruby/core/integer/even_spec.rb index c14cf84947..578979320e 100644 --- a/spec/ruby/core/integer/even_spec.rb +++ b/spec/ruby/core/integer/even_spec.rb @@ -1,20 +1,40 @@ -require File.expand_path('../../../spec_helper', __FILE__) +require_relative '../../spec_helper' describe "Integer#even?" do - it "returns true for a Fixnum when it is an even number" do - (-2).even?.should be_true - (-1).even?.should be_false + context "fixnum" do + it "returns true for a Fixnum when it is an even number" do + (-2).even?.should == true + (-1).even?.should == false - 0.even?.should be_true - 1.even?.should be_false - 2.even?.should be_true + 0.even?.should == true + 1.even?.should == false + 2.even?.should == true + end + + it "returns true for a Bignum when it is an even number" do + bignum_value(0).even?.should == true + bignum_value(1).even?.should == false + + (-bignum_value(0)).even?.should == true + (-bignum_value(1)).even?.should == false + end end - it "returns true for a Bignum when it is an even number" do - bignum_value(0).even?.should be_true - bignum_value(1).even?.should be_false + context "bignum" do + it "returns true if self is even and positive" do + (10000**10).even?.should == true + end + + it "returns true if self is even and negative" do + (-10000**10).even?.should == true + end + + it "returns false if self is odd and positive" do + (9879**976).even?.should == false + end - (-bignum_value(0)).even?.should be_true - (-bignum_value(1)).even?.should be_false + it "returns false if self is odd and negative" do + (-9879**976).even?.should == false + end end end |
