Class TestVerboseObject
In: lib/verbose_object.rb
Parent: ::Test::Unit::TestCase

Methods

Included Modules

Mocks::Assertions

Public Instance methods

[Source]

# File lib/verbose_object.rb, line 144
    def assert_same_result ( myVerboseObject, refObject, aMethod, *args, &block )
      assert_nothing_raised do
        my = myVerboseObject.__send__(aMethod, *args, &block)
        ref = refObject.__send__(aMethod, *args, &block)
        assert_equal(ref, my)
      end
    end

[Source]

# File lib/verbose_object.rb, line 165
    def assert_same_result_many ( meth, *args, &block )
      @objs.each do |element|
        assert_same_result(assert_verbosify(element.try_dup), element, meth, *args, &block)
      end
    end

[Source]

# File lib/verbose_object.rb, line 140
    def assert_verbosify ( anObject )
      assert_nothing_raised { return anObject.verbosify(@opts) }
    end

[Source]

# File lib/verbose_object.rb, line 152
    def setup
      @mock_object = Mocks::Object.new
      @opts = { :logger => @mock_object, :no_rec => false }
      @str = "foo"
      @arr = [1, 3, @str.dup, [1, 2]]
      @hash = { :foo => @arr.dup, :bar => "value" }
      @num = 42
      @objs = [@str, @arr, @hash, @num]
    end

[Source]

# File lib/verbose_object.rb, line 162
    def teardown
    end

[Source]

# File lib/verbose_object.rb, line 179
    def test_class
      assert_same_result_many :class
      mock_object.mock_freeze
      args = mock_object.mock_args.delete_if { |x, y, z| y == :== }
      assert_equal [[@str,  :class], [String, :object_id],
                    [@arr,  :class], [Array, :object_id],
                    [@hash, :class], [Hash, :object_id],
                    [@num,  :class], [Fixnum, :object_id]], args
    end

[Source]

# File lib/verbose_object.rb, line 171
    def test_simple
      assert_same_result_many :size
      assert_mock [@str,  :size], [3, :==, 3],
                  [@arr,  :size], [4, :==, 4],
                  [@hash, :size], [2, :==, 2],
                  [@num,  :size], [4, :==, 4]
    end

[Source]

# File lib/verbose_object.rb, line 197
    def test_trace
      @vrange = assert_verbosify 1..3
      assert_nothing_raised do
        @res = (@vrange.map{|x| x + 1}.join(',').size * -4).abs
      end
      assert_equal 20, @res
      assert_equal '(1..3.each { ... }.map { ... }.join(",").size * -4).abs',
                   @res.verbose_object_trace
    end

[Source]

# File lib/verbose_object.rb, line 189
    def test_with_class
      @class = String
      @vclass = assert_verbosify @class
      assert_same_result @vclass, @class, :name
      mock_object.mock_freeze
      assert_mock [@class, :name]
    end

[Validate]