On 10 juil. 2013, at 16:45, Igor Stasenko wrote:

On 9 July 2013 22:45, Nicolas Cellier
<nicolas.cellier.aka.nice@gmail.com> wrote:
"should not raise an exceptional event whose description does not include"
wow, who is crooked enough to use double negation ;)


is it a convenience method for following:


[ self dosomething ] on: Error do: [:ex |
self assert: ex message includes:'whatever' ]
?

Not really, because it doesn't fails if no exception is raised.


as to me this is more readable and intent-revealing than using strange
double-negation..

What you want is a TAssertable>>#should:raise:  that:
- takes a one arg block as second argument that is evaluated with the exception thrown
- fails if no exception is raised



Nicolas


2013/7/9 St�phane Ducasse <stephane.ducasse@inria.fr>

So + 1 :)


- shouldnt: aBlock raise: anExceptionalEvent
whoseDescriptionDoesNotInclude: subString description: aString
- shouldnt: aBlock raise: anExceptionalEvent whoseDescriptionIncludes:
subString description: aString

I honestly cannot wrap my head around these two methods.

They show that the code in the block raises an _informative_
exception. So you get a FileNotFound exception... but what was the
missing file? I don't know! Noone bothered to mention it!


no it is #shouldnt: it is the inverse.
the #should:... handler methods are fine, but these specific two methods
are just insane.
I tried to reimplement them without looking at the original definition
and I cannot come up with something that matches the name :) so there is
definitely something wrong with it.






--
Best regards,
Igor Stasenko.