Can't see why my asseet fails in unit test

I have the following model

class Advertisement < ActiveRecord::Base   # presence validation code   validates_presence_of :job_title,                         :short_description,                         :detail_description,                         :contact_email,                         :location,                         :area,                         :classification,                         :work_type,                         :work_place,                         :salary_type,                         :min_salary;

  #length validation code   validates_length_of :job_title, :maximum => 80   validates_length_of :short_description, :maximum => 150   validates_length_of :internal_ref, :allow_nil => true, :maximum => 40   validates_length_of :contact_email, :maximum => 80   validates_length_of :contact_details, :allow_nil => true, :maximum => 200

  # numerical validation code   validates_numericality_of :min_salary, :only_integer => false   validates_numericality_of :max_salary, :allow_nil => true, :only_integer => false

  # validate the format of data   validates_format_of :contact_email,                      :with => /\A[\w\._%-]+@[\w\.-]+\.[a-zA-Z] {2,4}\z/,                      :message => "is an invalid email address"

end

When I execute the following test case the second assert fails.

  def test_invalid_ad_with_no_attrs     ad = Advertisement.new     assert !ad.valid?     assert ad.errors.invalid?(:min_salary)   end

Can anyone shed some light on this?

cheers </jima>