Я, должно быть, застрял на сутулости сегодня, потому что потратил больше часа, пытаясь понять, как заставить работать переменные аргументы в этом проекте iPhone, над которым я работаю. Может ли кто-нибудь помочь мне получить зеленую полосу в приведенном ниже модульном тесте? Куда я иду не так?
#import <SenTestingKit/SenTestingKit.h>
@interface VAArgsTest : SenTestCase
{
}
@end
NSString* vaArgsAppend(NSString *first, ...)
{
NSMutableString *list = [[NSMutableString alloc] initWithString:first];
id eachArg;
va_list argumentList;
va_start(argumentList, first);
while(eachArg = va_arg(argumentList, id)) {
if(eachArg)[list appendString:(NSString*)eachArg];
}
va_end(argumentList);
return [list autorelease];
}
@implementation VAArgsTest
-(void) testCallVaArgsAppend
{
NSString *result = vaArgsAppend(@"one ", "two ", @"three");
STAssertEqualObjects(result, @"one two three", @"Expected appended string.");
}
@end