Sha256: f1a962e039ad0a0072c6910e94fa07e10d29fb835673bab4efd8e2a7e985a737

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

ruby_version_is ""..."1.9" do

  require 'complex'

  describe "Complex.new" do
    it "returns a new Complex number" do
      Complex.new(1, 2).should be_kind_of(Complex)
    end

    it "raises a TypeError when one of the given arguments is not Numeric" do
      lambda { Complex.new(1, "foo") }.should raise_error(TypeError)
      lambda { Complex.new("bar", 2) }.should raise_error(TypeError)
    end

    it "raises a TypeError when one of the given arguments is a Complex" do
      lambda { Complex.new(Complex(1), "foo") }.should raise_error(TypeError)
      lambda { Complex.new("bar", Complex(3, 5)) }.should raise_error(TypeError)
    end
  end

  describe "Complex.new!" do
    it "returns a new Complex number" do
      Complex.new(1, 2).should be_kind_of(Complex)
    end

    it "defaults to 0 for the imaginery part" do
      a = Complex.new!(3)
      a.image.should == 0
    end

    it "raises a TypeError when one of the given arguments is not Numeric" do
      lambda { Complex.new(1, "foo") }.should raise_error(TypeError)
      lambda { Complex.new("bar", 2) }.should raise_error(TypeError)
    end

    it "raises a TypeError when one of the given arguments is a Complex" do
      lambda { Complex.new(Complex(1), "foo") }.should raise_error(TypeError)
      lambda { Complex.new("bar", Complex(3, 5)) }.should raise_error(TypeError)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubysl-complex-1.0.0 spec/new_spec.rb
rubysl-complex-2.0.0 spec/new_spec.rb