File: modulo_spec.rb

package info (click to toggle)
jruby 1.7.26-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 84,572 kB
  • sloc: ruby: 669,910; java: 253,056; xml: 35,152; ansic: 9,187; yacc: 7,267; cpp: 5,244; sh: 1,036; makefile: 345; jsp: 48; tcl: 40
file content (31 lines) | stat: -rw-r--r-- 995 bytes parent folder | download
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
require File.expand_path('../../../spec_helper', __FILE__)

ruby_version_is ""..."1.9" do
  require 'complex'

  describe "Complex#%" do
    describe "with Complex" do
      it "returns the remainder from complex division" do
        (Complex(13, 44) % Complex(5, 20)).should == Complex(13 % 5, 44 % 20)
        (Complex(13.5, 44.5) % Complex(5.5, 20.5)).should == Complex(13.5 % 5.5, 44.5 % 20.5)
      end
    end

    describe "with Integer" do
      it "returns the remainder from dividing both parts of self by the given Integer" do
        (Complex(21, 42) % 10).should == Complex(21 % 10, 42 % 10)
        (Complex(15.5, 16.5) % 2.0).should be_close(Complex(15.5 % 2, 16.5 % 2), TOLERANCE)
      end
    end

    describe "Complex#% with Object" do
      it "tries to coerce self into other" do
        value = Complex(3, 9)

        obj = mock("Object")
        obj.should_receive(:coerce).with(value).and_return([2, 5])
        (value % obj).should == 2 % 5
      end
    end
  end
end