summaryrefslogtreecommitdiff
path: root/spec/ruby/core/numeric/div_spec.rb
blob: 0017311487eb4641c370f9c4d865c56945448582 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require_relative '../../spec_helper'
require_relative 'fixtures/classes'

describe "Numeric#div" do
  before :each do
    @obj = NumericSpecs::Subclass.new
  end

  it "calls self#/ with other, then returns the #floor'ed result" do
    result = mock("Numeric#div result")
    result.should_receive(:floor).and_return(12)
    @obj.should_receive(:/).with(10).and_return(result)

    @obj.div(10).should == 12
  end

  it "raises ZeroDivisionError for 0" do
    lambda { @obj.div(0) }.should raise_error(ZeroDivisionError)
    lambda { @obj.div(0.0) }.should raise_error(ZeroDivisionError)
    lambda { @obj.div(Complex(0,0)) }.should raise_error(ZeroDivisionError)
  end
end