Sha256: 47588bf017767718014deb2f59ec2716fd85c3c59f9607a23161e708a6fd2f9b

Contents?: true

Size: 1.2 KB

Versions: 64

Compression:

Stored size: 1.2 KB

Contents

require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper'
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/fixtures/classes'

extended_on :rubinius do
  describe "Math.log2" do
    it "returns a float" do
      Math.log2(5.79).should be_close(2.53356334821451, TOLERANCE)
    end

    it "returns the natural logarithm of the argument" do
      Math.log2(1.1).should be_close(0.137503523749935, TOLERANCE)
      Math.log2(3.14).should be_close(1.6507645591169, TOLERANCE)
    end

    it "raises an Errno::EDOM if the argument is less than 0" do
      lambda { Math.log2(-1e-15) }.should raise_error( Errno::EDOM)
    end

    it "raises an ArgumentError if the argument cannot be coerced with Float()" do
      lambda { Math.log2("test") }.should raise_error(ArgumentError)
    end

    it "raises a TypeError if the argument is nil" do
      lambda { Math.log2(nil) }.should raise_error(TypeError)
    end

    it "accepts any argument that can be coerced with Float()" do
      Math.log2(MathSpecs::Float.new).should be_close(0.0, TOLERANCE)
    end
  end
end

ruby_version_is "1.9" do
  describe "Math.log2" do
    it "needs to be reviewed for spec completeness"
  end
end

Version data entries

64 entries across 64 versions & 1 rubygems

Version Path
rhodes-3.0.0.beta.6 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-3.0.0.beta.5 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-3.0.0.beta.4 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-3.0.0.beta.3 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-3.0.0.beta.2 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-3.0.0.beta.1 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.4.1 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.4.1.beta.1 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.4.0 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.4.0.beta.2 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.4.0.beta.1 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.2 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.2.beta.2 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.2.beta.1 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.1 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.1.beta.1 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.0 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.0.beta.3 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.0.beta.2 spec/framework_spec/app/spec/core/math/log2_spec.rb
rhodes-2.3.0.beta.1 spec/framework_spec/app/spec/core/math/log2_spec.rb