Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: STAssertEquals and type-checking
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: STAssertEquals and type-checking



I suppose you could write some wrapper macros that use __typeof (or whatever that compiler-specific keyword is) to automatically cast your second argument to the type of the first argument. You could even limit it to "safe" conversions.

Look at tgmath.h for inspiration.

--Kyle Sluder
(Sent from the road)

On Aug 16, 2011, at 11:50 AM, Sean McBride <email@hidden> wrote:

> On Tue, 16 Aug 2011 10:36:57 -0700, Jens Alfke said:
>
>> I’ve been using the STxxx test macros lately, as they’re the path of
>> least resistance, but I’m getting pretty frustrated with them. Worst is
>> the way that STAssertEquals is extremely picky about types (the actual
>> and expected parameters have to have exactly the same type), and worse,
>> somehow manages to defer the type checking until runtime, so you only
>> find out when you get an assertion failure.
>>
>> So I keep making ‘mistakes’ like:
>>    STAssertEquals(myArray.length, 32, nil);
>> which compiles fine, but fails at runtime because -length returns an
>> NSUInteger and 32 is an int. Changing 32 to 32u works on 32-bit but not
>> 64-bit; the only form I’ve found that always works is the awkward
>>   STAssertEquals(digest.length, (NSUInteger)32, nil);
>> Not surprisingly, I still forget to do this pretty often.
>
> We've had the same experience, and the same solution I'm afraid. :(
>
> --
> ____________________________________________________________
> Sean McBride, B. Eng                 email@hidden
> Rogue Research                        www.rogue-research.com
> Mac Software Developer              Montréal, Québec, Canada
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >STAssertEquals and type-checking (From: Jens Alfke <email@hidden>)
 >Re: STAssertEquals and type-checking (From: Sean McBride <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.