I'm not sure disabling monkeypatching would suffice, couldn't you then just create your own type equal to everything and return that? I assume assert_equal just does `a == b` internally so `a` could be an AlwaysEqual instance rather than a monkeypatched nil.
A more sensible alternative would probably be to serialise the assert_equal parameters and check the results externally.
Adding negative tests (using `not a == b` to avoid the same monkeypatching of !=) would also help