Sha256: c9ff82bd466261758d3b18c69682bfd4cd70241fb4e97a111d94b5d1d84fe189
Contents?: true
Size: 1.49 KB
Versions: 52
Compression:
Stored size: 1.49 KB
Contents
require File.expand_path('../../../spec_helper', __FILE__) require File.expand_path('../fixtures/classes', __FILE__) describe "Comparable#<=" do it "calls #<=> on self with other and returns true if #<=> returns 0 or any Integer less than 0" do a = ComparableSpecs::Weird.new(0) b = ComparableSpecs::Weird.new(20) a.should_receive(:<=>).any_number_of_times.and_return(0) (a <= b).should == true a.should_receive(:<=>).any_number_of_times.and_return(0.0) (a <= b).should == true a.should_receive(:<=>).any_number_of_times.and_return(-1) (a <= b).should == true a.should_receive(:<=>).any_number_of_times.and_return(-0.1) (a <= b).should == true a.should_receive(:<=>).any_number_of_times.and_return(-10000000) (a <= b).should == true end it "returns false if calling #<=> on self returns any Integer greater than 0" do a = ComparableSpecs::Weird.new(0) b = ComparableSpecs::Weird.new(10) a.should_receive(:<=>).any_number_of_times.and_return(0.1) (a <= b).should == false a.should_receive(:<=>).any_number_of_times.and_return(1.0) (a <= b).should == false a.should_receive(:<=>).any_number_of_times.and_return(10000000) (a <= b).should == false end it "raises an ArgumentError if calling #<=> on self returns nil" do a = ComparableSpecs::Weird.new(0) b = ComparableSpecs::Weird.new(20) a.should_receive(:<=>).any_number_of_times.and_return(nil) lambda { (a <= b) }.should raise_error(ArgumentError) end end
Version data entries
52 entries across 52 versions & 2 rubygems