aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/core/bignum/minus_spec.rb
blob: 754ef7fa427f97f2188009caa11bffe1dcea01f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require File.expand_path('../../../spec_helper', __FILE__)

describe "Bignum#-" do
  before :each do
    @bignum = bignum_value(314)
  end

  it "returns self minus the given Integer" do
    (@bignum - 9).should == 9223372036854776113
    (@bignum - 12.57).should be_close(9223372036854776109.43, TOLERANCE)
    (@bignum - bignum_value(42)).should == 272
  end

  it "raises a TypeError when given a non-Integer" do
    lambda { @bignum - mock('10') }.should raise_error(TypeError)
    lambda { @bignum - "10" }.should raise_error(TypeError)
    lambda { @bignum - :symbol }.should raise_error(TypeError)
  end
end