Sent from my iPhone

On 12 Oct 2008, at 12:35, Jay Pangmi <[EMAIL PROTECTED] 
s.net> wrote:

>
> Frederick Cheung wrote:
>> Adding an extra test isn't going to help. Your test isn't passing
>> because your object is not valid
>>
>> Fred
>
> Where am I wrong? Here's how I've done...
>
Print out the object's errors and you'll see

Fred
> IN MODEL:
> --- 
> --- 
> --- 
> --- 
> --------------------------------------------------------------------
> class Fee < ActiveRecord::Base
>  has_many :campsites
>
>  validates_presence_of :per_person_rate, :family_rate
>  validates_numericality_of :per_person_rate, :family_rate
>
>  def validate
>    errors.add(:per_person_rate, "should be greater than 0") if
> per_person_rate.nil? ||
>                                                                 
> per_person_rate
> < 0.01
>    errors.add(:family_rate, "should be greater than 0") if
> family_rate.nil? ||
>                                                            family_rate
> < 0.01
>  end
> end
> --- 
> --- 
> --- 
> --- 
> --------------------------------------------------------------------
>
> IN fee_test.rb
> --- 
> --- 
> --- 
> --- 
> --------------------------------------------------------------------
> require File.dirname(__FILE__) + '/../test_helper'
>
> class FeeTest < ActiveSupport::TestCase
>  # Replace this with your real tests.
>  def test_truth
>    assert true
>  end
>
>  def test_invalid_with_empty_attribute
>    fee=Fee.new
>    assert !fee.valid?
>    assert fee.errors.invalid?(:per_person_rate)
>    assert fee.errors.invalid?(:family_rate)
>  end
>
>  def test_positive_per_person_rate
>    fee=Fee.new()
>
>    fee.per_person_rate = -1.0
>    assert !fee.valid?
>    assert_equal "should be greater than 0",
> fee.errors.on(:per_person_rate)
>
>    fee.per_person_rate = 0.0
>    assert !fee.valid?
>    assert_equal "should be greater than 0",
> fee.errors.on(:per_person_rate)
>
>    fee.per_person_rate = 1.0
>    assert fee.valid?
>  end
>
>  def test_positive_family_rate
>    fee=Fee.new()
>
>    fee.family_rate = -1
>    assert !fee.valid?
>    assert_equal "should be greater than 0",  
> fee.errors.on(:family_rate)
>
>    fee.family_rate = 0
>    assert !fee.valid?
>    assert_equal "should be greate than 0", fee.errors.on(:family_rate)
>
>    fee.family_rate = 1
>    assert fee.valid?
>  end
>
> end
> --- 
> --- 
> --- 
> --- 
> --------------------------------------------------------------------
>
> I'm just copying from the book with very (almost no) changes. So, I
> can't figure out why here. thanks
> -- 
> Posted via http://www.ruby-forum.com/.
>
> >

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to