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

Reply via email to