On Aug 16, 2011, at 10:36 AM, Jens Alfke wrote:

> 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.

You could always define the NS_BUILD_32_LIKE_64 preprocessor macro. If you do 
that, then 32ul will be correct on all Mac/iOS platforms.


-- 
Clark S. Cox III
clarkc...@gmail.com

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to