DateTime validation and testing

Hi!

I have this test:

def test_invalid_date_format
  project = Project.new(:name => "Terminar página web",
              :user_id => "1",
        :deadline => "fsafasdfa")
  assert !project.valid?
  assert_equal "Deadline has invalid syntax",
project.errors.on(:deadline)
end

and I have this validation in the model:

protected

def validate
  if deadline.nil?
    return true
  else
    begin
      dt = DateTime.parse(deadline.to_s)
    rescue ArgumentError
      errors.add(:deadline, "Deadline has invalid syntax")
    end
   end
end

When I execute this test I have this:

  1) Failure:
test_invalid_date_format(ProjectTest)
    [project_test.rb:47:in `test_invalid_date_format'
     /usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/testing/default.rb:7:in
`run']:
<false> is not true.

How is this possible? Do not Datetime.parse returns false when it is not
a correct datetime string? How do you validate and test DateTime fields?