class Test::Unit::Assertions::AssertionMessage::HashInspector - test-unit: Ruby Standard Library Documentation

# class Test::Unit::Assertions::AssertionMessage::HashInspector

### Public Class Methods

new(hash, inspected_objects) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/assertions.rb, line 2190
    def initialize(hash, inspected_objects)
      @inspected_objects = inspected_objects
      @hash = {}
      hash.each do |key, value|
        key = Inspector.cached_new(key, @inspected_objects)
        value = Inspector.cached_new(value, @inspected_objects)
        @hash[key] = value
      end
    end

target?(object) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/assertions.rb, line 2185
    def target?(object)
      object.is_a?(Hash) or ENV.equal?(object)
    end

### Public Instance Methods

each_pair() { |key, hash| ... } click to toggle source

    # File test-unit-3.6.7/lib/test/unit/assertions.rb, line 2223
    def each_pair
      keys = @hash.keys
      begin
        keys = keys.sort # FIXME: more cleverly
      rescue ArgumentError
      end
      keys.each do |key|
        yield(key, @hash[key])
      end
    end

inspect() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/assertions.rb, line 2200
    def inspect
      @hash.inspect
    end

pretty_print(q) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/assertions.rb, line 2204
    def pretty_print(q)
      q.group(1, '{', '}') do
        q.seplist(self, nil, :each_pair) do |k, v|
          q.group do
            q.pp(k)
            q.text('=>')
            q.group(1) do
              q.breakable('')
              q.pp(v)
            end
          end
        end
      end
    end

pretty_print_cycle(q) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/assertions.rb, line 2219
    def pretty_print_cycle(q)
      @hash.pretty_print_cycle(q)
    end