libs-base/Tests/base/NSDictionary/basic.m

51 lines
1.5 KiB
Mathematica
Raw Normal View History

#import "Testing.h"
#import "ObjectTesting.h"
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSValue.h>
#import <Foundation/NSString.h>
int main()
{
2024-11-15 20:48:09 +00:00
NSAutoreleasePool *arp = [NSAutoreleasePool new];
NSMutableArray *testObjs = [NSMutableArray array];
NSDictionary *obj;
test_alloc(@"NSDictionary");
2024-11-15 20:48:09 +00:00
obj = [NSDictionary dictionary];
[testObjs addObject: obj];
PASS(obj != nil
&& [obj isKindOfClass: [NSDictionary class]]
&& [obj count] == 0,
"can create an empty dictionary")
obj = [NSDictionary dictionaryWithObject: @"Hello" forKey: @"Key"];
[testObjs addObject: obj];
PASS(obj != nil
&& [obj isKindOfClass: [NSDictionary class]]
&& [obj count] == 1,
"can create a dictionary with one element")
test_NSObject(@"NSDictionary", testObjs);
test_NSCoding(testObjs);
test_keyed_NSCoding(testObjs);
test_NSCopying(@"NSDictionary", @"NSMutableDictionary", testObjs, YES, NO);
test_NSMutableCopying(@"NSDictionary", @"NSMutableDictionary", testObjs);
2019-01-05 15:41:15 +00:00
START_SET("NSDictionary subscripting")
# ifndef __has_feature
# define __has_feature(x) 0
# endif
#if __has_feature(objc_subscripting)
NSDictionary *dictionary = @{@123 : @123.4 ,
@"date" : @"today" };
2024-11-15 20:48:09 +00:00
PASS([dictionary[@123] isEqual: @123.4], "Dictionary subscripting works")
# else
SKIP("No dictionary subscripting support in the compiler.")
# endif
END_SET("NSDictionary subscripting")
[arp release]; arp = nil;
return 0;
}