class Test::Unit::Assertions::AssertionMessage::Inspector

def <=>(other)

def <=>(other)
  if other.is_a?(self.class)
    @object <=> other.object
  else
    @object <=> other
  end
end

def cached_new(object, inspected_objects)

def cached_new(object, inspected_objects)
  inspected_objects[object.__id__] ||=
    new(object, inspected_objects)
end

def initialize(object, inspected_objects={})

def initialize(object, inspected_objects={})
  @inspected_objects = inspected_objects
  @object = object
  @inspected_objects[@object.__id__] = self
  @inspect_target = inspect_target
end

def inspect

def inspect
  @inspect_target.inspect
end

def inspect_target

def inspect_target
  self.class.inspector_classes.each do |inspector_class|
    if inspector_class.target?(@object)
      return inspector_class.new(@object, @inspected_objects)
    end
  end
  @object
end

def inspector_classes

def inspector_classes
  @@inspector_classes
end

def pretty_print(q)

def pretty_print(q)
  @inspect_target.pretty_print(q)
end

def pretty_print_cycle(q)

def pretty_print_cycle(q)
  @inspect_target.pretty_print_cycle(q)
end

def register_inspector_class(inspector_class)

def register_inspector_class(inspector_class)
  @@inspector_classes << inspector_class
end

def unregister_inspector_class(inspector_class)

def unregister_inspector_class(inspector_class)
  @@inspector_classes.delete(inspector_class)
end