require_relative '../../spec_helper' require_relative '../integer/shared/integer_floor_precision' describe "Float#floor" do context "with values equal to integers" do it_behaves_like :integer_floor_precision, :Float end it "returns the largest Integer less than or equal to self" do -1.2.floor.should.eql?( -2) -1.0.floor.should.eql?( -1) 0.0.floor.should.eql?( 0 ) 1.0.floor.should.eql?( 1 ) 5.9.floor.should.eql?( 5 ) -9223372036854775808.1.floor.should.eql?(-9223372036854775808) +9223372036854775808.1.floor.should.eql?(+9223372036854775808) end it "returns the largest number less than or equal to self with an optionally given precision" do 2.1679.floor(0).should.eql?(2) 214.94.floor(-1).should.eql?(210) 7.0.floor(1).should.eql?(7.0) 200.0.floor(-2).should.eql?(200) -1.234.floor(2).should.eql?(-1.24) 5.123812.floor(4).should.eql?(5.1238) 10.00001.floor(5).should.eql?(10.00001) end end