From: Eric Hodel Date: 2008-04-15T18:16:27+09:00 Subject: Re: change usage of pp in Test::Unit assertions On Apr 13, 2008, at 10:03 AM, Jano Svitok wrote: > On Sun, Apr 13, 2008 at 5:15 AM, wrote: >> Hi all. >> >> I have some Test::Unit testcases that deal with Date and DateTime. >> If, >> for whatever reason, I have a failing assert_equal on either Date or >> DateTime, the resulting message is quite difficult to read: the >> reason >> obviously is that pp dumps the content of the object, it doesn't rely >> on to_s or other more readable ways. >> >> Is there any way to change this behaviour and make assert_equal print >> Date.to_s and DateTime.to_s when the comparison fail? > > You have two possibilities: > > 1. set Test::Unit::Assertions.use_pp to false, thus using > Date#inspect, or > 2. create your own assertion that will use to_s. See documentation for > Test::Unit::Assertions. > (the easiest way would be to copy the code for assert_equal from > assertions.rb and change the first line with build_message) 3. create a Date#pretty_print and DateTime#pretty_print method.