mirror of
https://github.com/zhigang1992/RubyMotion.git
synced 2026-04-13 22:45:27 +08:00
add core/fixnum/divide spec
This commit is contained in:
39
test/test-android/app/core/fixnum/divide_spec.rb
Normal file
39
test/test-android/app/core/fixnum/divide_spec.rb
Normal file
@@ -0,0 +1,39 @@
|
||||
class Core_Fixnum_Divide_Mock1 < Java::Lang::Object
|
||||
def to_int
|
||||
10
|
||||
end
|
||||
end
|
||||
|
||||
describe "Fixnum#/" do
|
||||
it "returns self divided by the given argument" do
|
||||
(2 / 2).should == 1
|
||||
(3 / 2).should == 1
|
||||
end
|
||||
|
||||
it "supports dividing negative numbers" do
|
||||
(-1 / 10).should == -1
|
||||
end
|
||||
|
||||
it "raises a ZeroDivisionError if the given argument is zero and not a Float" do
|
||||
lambda { 1 / 0 }.should raise_error(ZeroDivisionError)
|
||||
end
|
||||
|
||||
it "does NOT raise ZeroDivisionError if the given argument is zero and is a Float" do
|
||||
(1 / 0.0).to_s.should == 'Infinity'
|
||||
(-1 / 0.0).to_s.should == '-Infinity'
|
||||
end
|
||||
|
||||
it "coerces fixnum and return self divided by other" do
|
||||
(-1 / 50.4).should be_close(-0.0198412698412698, TOLERANCE)
|
||||
(1 / bignum_value).should == 0
|
||||
end
|
||||
|
||||
it "raises a TypeError when given a non-Integer" do
|
||||
lambda {
|
||||
obj = Core_Fixnum_Divide_Mock1.new
|
||||
13 / obj
|
||||
}.should raise_error(TypeError)
|
||||
lambda { 13 / "10" }.should raise_error(TypeError)
|
||||
lambda { 13 / :symbol }.should raise_error(TypeError)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user