From: herwin@... Date: 2015-01-15T16:26:01+00:00 Subject: [ruby-core:67609] [ruby-trunk - Bug #10745] [Open] Special combinations of parameters in assert_equal (test/unit) may cause exceptions Issue #10745 has been reported by Herwin .. ---------------------------------------- Bug #10745: Special combinations of parameters in assert_equal (test/unit) may cause exceptions https://bugs.ruby-lang.org/issues/10745 * Author: Herwin . * Status: Open * Priority: Low * Assignee: * ruby -v: 2.1.2p95 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- ~~~ require 'test/unit' require 'ipaddr' class TestX < Test::Unit::TestCase def test_x assert_equal([IPAddr.new('1.2.3.4')], [[1,2,3]]) end end ~~~ This results in the following trace: ~~~ NoMethodError: undefined method `to_i' for [1, 2, 3]:Array /usr/lib/ruby/2.1.0/ipaddr.rb:471:in `initialize' /usr/lib/ruby/2.1.0/ipaddr.rb:516:in `new' /usr/lib/ruby/2.1.0/ipaddr.rb:516:in `coerce_other' /usr/lib/ruby/2.1.0/ipaddr.rb:150:in `==' /usr/lib/ruby/2.1.0/test/unit/assertions.rb:250:in `==' /usr/lib/ruby/2.1.0/test/unit/assertions.rb:250:in `assert_equal' ~~~ I don't think the assert_equals is supposed to throw these kind of errors -- https://bugs.ruby-lang.org/