On Mar 30, 2010, at 7:23 AM, George wrote: > When you need to check several properties of an object, what is the > best way to match them all? > > I'm using the 'satisfy' matcher at the moment but perhaps there's a > better way than this: > flight.should satisfy { |f| > f.booking_code == @parsed_pnr_data[:pnr_number] && > f.depart_airport.code == @parsed_pnr_data[:flights][0] > [:depart_airport_code] && > f.arrive_airport.code == @parsed_pnr_data[:flights][0] > [:arrive_airport_code] && > f.depart_terminal == @parsed_pnr_data[:flights][0] > [:depart_terminal] && > f.arrive_terminal == @parsed_pnr_data[:flights][0] > [:arrive_terminal] && > f.start_date == @parsed_pnr_data[:flights][0] > [:depart_date] && > f.end_date == @parsed_pnr_data[:flights][0] > [:arrive_date] > } > > Many thanks > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users
I use a Comparable object whenever possible, as David said. Other than that, I just do one expectation per line. That way when one fails, I know exactly where the failure is. Pat _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users