On Mon, Aug 25, 2008 at 2:50 PM, Nick Hoffman <[EMAIL PROTECTED]> wrote:
> On 2008-08-25, at 13:29, Zach Dennis wrote:
>>
>> I might do something like the following...
>>
>> describe Property, "email validations" do
>>
>>  ["[EMAIL PROTECTED]", "can't start with a digit",
>>   "[EMAIL PROTECTED]", "can't end with a digit"
>>  ].in_groups_of(2) do |email, description|
>>   it description do
>>     prop =  Property.new :email => email
>>     prop.should_not be_valid
>>     prop.should have(1).error_on(:email)
>>   end
>>  end
>> end
>>
>>
>> -- Zach Dennis
>> http://www.continuousthinking.com
>> http://www.mutuallyhuman.com
>
> Hi Zach. That's a great way of iterating over test data. Do you have any
> suggestions for how much test data to use?
>

I'd probably start with the first invalid email/description that I can
think of. Perhaps it can't start with a digit. Then I'd update the
regexp to reflect that. Next I'd add a second invalid
email/description and update the regexp to reflect that. Rinse and
repeat until your regexp is where you need it. This should help you
not add redundant emails which test the same thing. When you get to
the case where you allow from 2 up to 128 characters, you could just
test those two edge cases (rather than emails which 2 characters, 3
characters, 4 characters, ... 128 characters.

-- 
Zach Dennis
http://www.continuousthinking.com
http://www.mutuallyhuman.com
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to