On 9 juil. 2013, at 18:42, Esteban Lorenzano wrote:

> Even more important, IMHO: allowing those methods to exists is to validate an 
> anti-pattern: if you have an specific error to throw, you should create a 
> specific descendant of Error, not just throw Error with an explanation.
> 
> So, +A LOT to remove them. 

Agree
Moreover, I really don't see why we should have a special assertion for 
auditing the description of an Error.
If you begin like that you end up with tons of highly specific assertion for 
tons of specific objects:

self assert: aCollection hasSizeLowerThan: 10.
self assert: aPoint isBelow: 2@3.
self assert: myDomainObject 
satisfiesSomeDomainSpecificConstraintParametrizedBy: anObject and: anotherObject
...
No way!

> 
> Esteban
> 
> On Jul 9, 2013, at 5:42 PM, Clément Bera <[email protected]> wrote:
> 
>> They may be useful. Imagine you are too lazy to create a subclass of Error, 
>> but not lazy enough to create a test and copy paste a String. 
>> Then you write in your method: 
>> self error: 'some strange error happened'
>> And you can test it:
>> self shouldnt: [ "some strange code" ] raise: Error 
>> whoseDescriptionIncludes: 'some strange error happened' description: 'the 
>> strange error did not happen ! That's strange'
>> 
>> Seriously, as you saw these methods are used only in their tests. I guess 
>> you can remove them. Open fogz bug ?
>> 
>> 
>> 2013/7/9 Frank Shearar <[email protected]>
>> On 9 July 2013 16:24, Camillo Bruni <[email protected]> wrote:
>> > Survey: who uses the following methods? and if yes why?
>> >
>> > - 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!
>> 
>> frank
>> 
>> 
> 

Reply via email to