On Wed, Aug 27, 2008 at 1:03 PM, Nick Hoffman <[EMAIL PROTECTED]> wrote:

> On 2008-08-27, at 12:57, Rahoul Baruah wrote:
>
>> For this, trivial, example, I find that far too verbose.
>>
>> The "specification" says "if it is less than 2 characters then invalid"
>> and "if it is more than 128 characters then invalid" .
>>
>> But you are actually running three checks - "if less than 2", "if greater
>> than 2 but less than 128" and "if greater than 2 and greater than 128".
>>
>> B
>>
>>
>> Rahoul Baruah
>>
>
> This is what I ended up with:
>
> Property addresses that are valid
> - can't be 129 characters
> - can't have a 1-letter street name
> - can't have an &
> - can't have an !
> - can't have a "
> - can't have 2 letters after the street number
> - can't be missing a street number
> - can't have only 3 characters
> - can't be empty
> - can have 128 characters
> - can have 127 characters
> - can have only 5 characters
> - can have only 4 characters
> - can have a ,
> - can have a -
> - can have a '
> - can have 1 letter after the street number
> - can have multiple spaces
>
> Each of the "can ..." examples are proper addresses in the sense that
> they're variations of:
> - "123 A Street With A Long Name"
> - "123B Maple Ave"
> - "123 O'Connor Street"
> - etc
>
> One thing that I didn't do is write examples for each invalid character.
> That'd be too hairy and verbose. Instead, I picked a few, and wrote examples
> for them, as you can see above (Eg: "can't have an &").


If you want to (not necessarily advising this, but I've seen it done) you
can do this:

['!','(',')','&'].each do |char|
  it "can't have #{char}" do
    ...
  end
end

That makes the output very verbose, but the spec file is easy to grok.


>
>
> Cheers,
> Nick
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to