Sha256: eac6e255895aca0db989f26c7401d171d3b1528b47da965b60054940ddc83e51
Contents?: true
Size: 1.17 KB
Versions: 5
Compression:
Stored size: 1.17 KB
Contents
module TestFacility def >>(x) self == x end #def is!(x) # assert( self == x ) #end end class Object include TestFacility end class Fixnum remove_method :>> end class Bignum remove_method :>> end class Date alias_method :>>, :months_ahead end # Alternative class AssertionError < StandardError end class Object def >>(res) # The expection is assertion[1] if res == self if $DEBUG @assertion_count ||= 0 @assertion_success ||= 0 @assertion_count += 1 @assertion_success += 1 # should track a list end else if $DEBUG @assertion_count ||= 0 @assertion_failure ||= 0 @assertion_count += 1 @assertion_failure += 1 # should track a list else raise AssertionError, "#{res.inspect} != #{self.inspect}" end end res end end # --- developing test --- if $0 == __FILE__ s = String.new p (s >> 1) end # [1] A principle of design: An object evaluates all its own equalities. # # class Me # def compare(b) # # not b == self, but # self == b # end # end #
Version data entries
5 entries across 5 versions & 1 rubygems