On Mar 30, 2010, at 9: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] > }
I don't know if this is workable in your case or not, but I like to design objects so you can compare them. Something like: flight.should == Flight.new :booking_code => @parsed_pnr_data[:pnr_number], ..... HTH, David _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users