Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Side by Side Diff: third_party/protobuf/objectivec/Tests/GPBDictionaryTests+Bool.m

Issue 1983203003: Update third_party/protobuf to protobuf-v3.0.0-beta-3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: owners Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2015 Google Inc. All rights reserved. 2 // Copyright 2015 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // https://developers.google.com/protocol-buffers/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 2129 matching lines...) Expand 10 before | Expand all | Expand 10 after
2140 XCTAssertTrue([dict valueForKey:NO value:NULL]); 2140 XCTAssertTrue([dict valueForKey:NO value:NULL]);
2141 XCTAssertTrue([dict valueForKey:NO value:&value]); 2141 XCTAssertTrue([dict valueForKey:NO value:&value]);
2142 XCTAssertEqual(value, 601.); 2142 XCTAssertEqual(value, 601.);
2143 2143
2144 [dict2 release]; 2144 [dict2 release];
2145 [dict release]; 2145 [dict release];
2146 } 2146 }
2147 2147
2148 @end 2148 @end
2149 2149
2150 //%PDDM-EXPAND TESTS_FOR_BOOL_KEY_OBJECT_VALUE(Object, id, @"abc", @"def") 2150 //%PDDM-EXPAND TESTS_FOR_BOOL_KEY_OBJECT_VALUE(Object, NSString*, @"abc", @"def" )
2151 // This block of code is generated, do not edit it directly. 2151 // This block of code is generated, do not edit it directly.
2152 2152
2153 #pragma mark - Bool -> Object 2153 #pragma mark - Bool -> Object
2154 2154
2155 @interface GPBBoolObjectDictionaryTests : XCTestCase 2155 @interface GPBBoolObjectDictionaryTests : XCTestCase
2156 @end 2156 @end
2157 2157
2158 @implementation GPBBoolObjectDictionaryTests 2158 @implementation GPBBoolObjectDictionaryTests
2159 2159
2160 - (void)testEmpty { 2160 - (void)testEmpty {
2161 GPBBoolObjectDictionary *dict = [[GPBBoolObjectDictionary alloc] init]; 2161 GPBBoolObjectDictionary<NSString*> *dict = [[GPBBoolObjectDictionary alloc] in it];
2162 XCTAssertNotNil(dict); 2162 XCTAssertNotNil(dict);
2163 XCTAssertEqual(dict.count, 0U); 2163 XCTAssertEqual(dict.count, 0U);
2164 XCTAssertNil([dict objectForKey:YES]); 2164 XCTAssertNil([dict objectForKey:YES]);
2165 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, id aObject, BOOL *stop) { 2165 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, NSString* aObject, BOOL * stop) {
2166 #pragma unused(aKey, aObject, stop) 2166 #pragma unused(aKey, aObject, stop)
2167 XCTFail(@"Shouldn't get here!"); 2167 XCTFail(@"Shouldn't get here!");
2168 }]; 2168 }];
2169 [dict release]; 2169 [dict release];
2170 } 2170 }
2171 2171
2172 - (void)testOne { 2172 - (void)testOne {
2173 GPBBoolObjectDictionary *dict = [GPBBoolObjectDictionary dictionaryWithObject: @"abc" forKey:YES]; 2173 GPBBoolObjectDictionary<NSString*> *dict = [GPBBoolObjectDictionary dictionary WithObject:@"abc" forKey:YES];
2174 XCTAssertNotNil(dict); 2174 XCTAssertNotNil(dict);
2175 XCTAssertEqual(dict.count, 1U); 2175 XCTAssertEqual(dict.count, 1U);
2176 XCTAssertEqualObjects([dict objectForKey:YES], @"abc"); 2176 XCTAssertEqualObjects([dict objectForKey:YES], @"abc");
2177 XCTAssertNil([dict objectForKey:NO]); 2177 XCTAssertNil([dict objectForKey:NO]);
2178 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, id aObject, BOOL *stop) { 2178 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, NSString* aObject, BOOL * stop) {
2179 XCTAssertEqual(aKey, YES); 2179 XCTAssertEqual(aKey, YES);
2180 XCTAssertEqualObjects(aObject, @"abc"); 2180 XCTAssertEqualObjects(aObject, @"abc");
2181 XCTAssertNotEqual(stop, NULL); 2181 XCTAssertNotEqual(stop, NULL);
2182 }]; 2182 }];
2183 } 2183 }
2184 2184
2185 - (void)testBasics { 2185 - (void)testBasics {
2186 const BOOL kKeys[] = { YES, NO }; 2186 const BOOL kKeys[] = { YES, NO };
2187 const id kObjects[] = { @"abc", @"def" }; 2187 const NSString* kObjects[] = { @"abc", @"def" };
2188 GPBBoolObjectDictionary *dict = 2188 GPBBoolObjectDictionary<NSString*> *dict =
2189 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects 2189 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects
2190 forKeys:kKeys 2190 forKeys:kKeys
2191 count:GPBARRAYSIZE(kObjects)]; 2191 count:GPBARRAYSIZE(kObjects)];
2192 XCTAssertNotNil(dict); 2192 XCTAssertNotNil(dict);
2193 XCTAssertEqual(dict.count, 2U); 2193 XCTAssertEqual(dict.count, 2U);
2194 XCTAssertEqualObjects([dict objectForKey:YES], @"abc"); 2194 XCTAssertEqualObjects([dict objectForKey:YES], @"abc");
2195 XCTAssertEqualObjects([dict objectForKey:NO], @"def"); 2195 XCTAssertEqualObjects([dict objectForKey:NO], @"def");
2196 2196
2197 __block NSUInteger idx = 0; 2197 __block NSUInteger idx = 0;
2198 BOOL *seenKeys = malloc(2 * sizeof(BOOL)); 2198 BOOL *seenKeys = malloc(2 * sizeof(BOOL));
2199 id *seenObjects = malloc(2 * sizeof(id)); 2199 NSString* *seenObjects = malloc(2 * sizeof(NSString*));
2200 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, id aObject, BOOL *stop) { 2200 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, NSString* aObject, BOOL * stop) {
2201 XCTAssertLessThan(idx, 2U); 2201 XCTAssertLessThan(idx, 2U);
2202 seenKeys[idx] = aKey; 2202 seenKeys[idx] = aKey;
2203 seenObjects[idx] = aObject; 2203 seenObjects[idx] = aObject;
2204 XCTAssertNotEqual(stop, NULL); 2204 XCTAssertNotEqual(stop, NULL);
2205 ++idx; 2205 ++idx;
2206 }]; 2206 }];
2207 for (int i = 0; i < 2; ++i) { 2207 for (int i = 0; i < 2; ++i) {
2208 BOOL foundKey = NO; 2208 BOOL foundKey = NO;
2209 for (int j = 0; (j < 2) && !foundKey; ++j) { 2209 for (int j = 0; (j < 2) && !foundKey; ++j) {
2210 if (kKeys[i] == seenKeys[j]) { 2210 if (kKeys[i] == seenKeys[j]) {
2211 foundKey = YES; 2211 foundKey = YES;
2212 XCTAssertEqualObjects(kObjects[i], seenObjects[j], @"i = %d, j = %d", i, j); 2212 XCTAssertEqualObjects(kObjects[i], seenObjects[j], @"i = %d, j = %d", i, j);
2213 } 2213 }
2214 } 2214 }
2215 XCTAssertTrue(foundKey, @"i = %d", i); 2215 XCTAssertTrue(foundKey, @"i = %d", i);
2216 } 2216 }
2217 free(seenKeys); 2217 free(seenKeys);
2218 free(seenObjects); 2218 free(seenObjects);
2219 2219
2220 // Stopping the enumeration. 2220 // Stopping the enumeration.
2221 idx = 0; 2221 idx = 0;
2222 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, id aObject, BOOL *stop) { 2222 [dict enumerateKeysAndObjectsUsingBlock:^(BOOL aKey, NSString* aObject, BOOL * stop) {
2223 #pragma unused(aKey, aObject) 2223 #pragma unused(aKey, aObject)
2224 if (idx == 0) *stop = YES; 2224 if (idx == 0) *stop = YES;
2225 XCTAssertNotEqual(idx, 2U); 2225 XCTAssertNotEqual(idx, 2U);
2226 ++idx; 2226 ++idx;
2227 }]; 2227 }];
2228 [dict release]; 2228 [dict release];
2229 } 2229 }
2230 2230
2231 - (void)testEquality { 2231 - (void)testEquality {
2232 const BOOL kKeys1[] = { YES, NO }; 2232 const BOOL kKeys1[] = { YES, NO };
2233 const BOOL kKeys2[] = { NO, YES }; 2233 const BOOL kKeys2[] = { NO, YES };
2234 const id kObjects1[] = { @"abc", @"def" }; 2234 const NSString* kObjects1[] = { @"abc", @"def" };
2235 const id kObjects2[] = { @"def", @"abc" }; 2235 const NSString* kObjects2[] = { @"def", @"abc" };
2236 const id kObjects3[] = { @"def" }; 2236 const NSString* kObjects3[] = { @"def" };
2237 GPBBoolObjectDictionary *dict1 = 2237 GPBBoolObjectDictionary<NSString*> *dict1 =
2238 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects1 2238 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects1
2239 forKeys:kKeys1 2239 forKeys:kKeys1
2240 count:GPBARRAYSIZE(kObjects1)]; 2240 count:GPBARRAYSIZE(kObjects1)];
2241 XCTAssertNotNil(dict1); 2241 XCTAssertNotNil(dict1);
2242 GPBBoolObjectDictionary *dict1prime = 2242 GPBBoolObjectDictionary<NSString*> *dict1prime =
2243 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects1 2243 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects1
2244 forKeys:kKeys1 2244 forKeys:kKeys1
2245 count:GPBARRAYSIZE(kObjects1)]; 2245 count:GPBARRAYSIZE(kObjects1)];
2246 XCTAssertNotNil(dict1prime); 2246 XCTAssertNotNil(dict1prime);
2247 GPBBoolObjectDictionary *dict2 = 2247 GPBBoolObjectDictionary<NSString*> *dict2 =
2248 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects2 2248 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects2
2249 forKeys:kKeys1 2249 forKeys:kKeys1
2250 count:GPBARRAYSIZE(kObjects2)]; 2250 count:GPBARRAYSIZE(kObjects2)];
2251 XCTAssertNotNil(dict2); 2251 XCTAssertNotNil(dict2);
2252 GPBBoolObjectDictionary *dict3 = 2252 GPBBoolObjectDictionary<NSString*> *dict3 =
2253 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects1 2253 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects1
2254 forKeys:kKeys2 2254 forKeys:kKeys2
2255 count:GPBARRAYSIZE(kObjects1)]; 2255 count:GPBARRAYSIZE(kObjects1)];
2256 XCTAssertNotNil(dict3); 2256 XCTAssertNotNil(dict3);
2257 GPBBoolObjectDictionary *dict4 = 2257 GPBBoolObjectDictionary<NSString*> *dict4 =
2258 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects3 2258 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects3
2259 forKeys:kKeys1 2259 forKeys:kKeys1
2260 count:GPBARRAYSIZE(kObjects3)]; 2260 count:GPBARRAYSIZE(kObjects3)];
2261 XCTAssertNotNil(dict4); 2261 XCTAssertNotNil(dict4);
2262 2262
2263 // 1/1Prime should be different objects, but equal. 2263 // 1/1Prime should be different objects, but equal.
2264 XCTAssertNotEqual(dict1, dict1prime); 2264 XCTAssertNotEqual(dict1, dict1prime);
2265 XCTAssertEqualObjects(dict1, dict1prime); 2265 XCTAssertEqualObjects(dict1, dict1prime);
2266 // Equal, so they must have same hash. 2266 // Equal, so they must have same hash.
2267 XCTAssertEqual([dict1 hash], [dict1prime hash]); 2267 XCTAssertEqual([dict1 hash], [dict1prime hash]);
2268 2268
2269 // 2 is same keys, different objects; not equal. 2269 // 2 is same keys, different objects; not equal.
2270 XCTAssertNotEqualObjects(dict1, dict2); 2270 XCTAssertNotEqualObjects(dict1, dict2);
2271 2271
2272 // 3 is different keys, same objects; not equal. 2272 // 3 is different keys, same objects; not equal.
2273 XCTAssertNotEqualObjects(dict1, dict3); 2273 XCTAssertNotEqualObjects(dict1, dict3);
2274 2274
2275 // 4 Fewer pairs; not equal 2275 // 4 Fewer pairs; not equal
2276 XCTAssertNotEqualObjects(dict1, dict4); 2276 XCTAssertNotEqualObjects(dict1, dict4);
2277 2277
2278 [dict1 release]; 2278 [dict1 release];
2279 [dict1prime release]; 2279 [dict1prime release];
2280 [dict2 release]; 2280 [dict2 release];
2281 [dict3 release]; 2281 [dict3 release];
2282 [dict4 release]; 2282 [dict4 release];
2283 } 2283 }
2284 2284
2285 - (void)testCopy { 2285 - (void)testCopy {
2286 const BOOL kKeys[] = { YES, NO }; 2286 const BOOL kKeys[] = { YES, NO };
2287 const id kObjects[] = { @"abc", @"def" }; 2287 const NSString* kObjects[] = { @"abc", @"def" };
2288 GPBBoolObjectDictionary *dict = 2288 GPBBoolObjectDictionary<NSString*> *dict =
2289 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects 2289 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects
2290 forKeys:kKeys 2290 forKeys:kKeys
2291 count:GPBARRAYSIZE(kObjects)]; 2291 count:GPBARRAYSIZE(kObjects)];
2292 XCTAssertNotNil(dict); 2292 XCTAssertNotNil(dict);
2293 2293
2294 GPBBoolObjectDictionary *dict2 = [dict copy]; 2294 GPBBoolObjectDictionary<NSString*> *dict2 = [dict copy];
2295 XCTAssertNotNil(dict2); 2295 XCTAssertNotNil(dict2);
2296 2296
2297 // Should be new object but equal. 2297 // Should be new object but equal.
2298 XCTAssertNotEqual(dict, dict2); 2298 XCTAssertNotEqual(dict, dict2);
2299 XCTAssertEqualObjects(dict, dict2); 2299 XCTAssertEqualObjects(dict, dict2);
2300 XCTAssertTrue([dict2 isKindOfClass:[GPBBoolObjectDictionary class]]); 2300 XCTAssertTrue([dict2 isKindOfClass:[GPBBoolObjectDictionary class]]);
2301 2301
2302 [dict2 release]; 2302 [dict2 release];
2303 [dict release]; 2303 [dict release];
2304 } 2304 }
2305 2305
2306 - (void)testDictionaryFromDictionary { 2306 - (void)testDictionaryFromDictionary {
2307 const BOOL kKeys[] = { YES, NO }; 2307 const BOOL kKeys[] = { YES, NO };
2308 const id kObjects[] = { @"abc", @"def" }; 2308 const NSString* kObjects[] = { @"abc", @"def" };
2309 GPBBoolObjectDictionary *dict = 2309 GPBBoolObjectDictionary<NSString*> *dict =
2310 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects 2310 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects
2311 forKeys:kKeys 2311 forKeys:kKeys
2312 count:GPBARRAYSIZE(kObjects)]; 2312 count:GPBARRAYSIZE(kObjects)];
2313 XCTAssertNotNil(dict); 2313 XCTAssertNotNil(dict);
2314 2314
2315 GPBBoolObjectDictionary *dict2 = 2315 GPBBoolObjectDictionary<NSString*> *dict2 =
2316 [GPBBoolObjectDictionary dictionaryWithDictionary:dict]; 2316 [GPBBoolObjectDictionary dictionaryWithDictionary:dict];
2317 XCTAssertNotNil(dict2); 2317 XCTAssertNotNil(dict2);
2318 2318
2319 // Should be new pointer, but equal objects. 2319 // Should be new pointer, but equal objects.
2320 XCTAssertNotEqual(dict, dict2); 2320 XCTAssertNotEqual(dict, dict2);
2321 XCTAssertEqualObjects(dict, dict2); 2321 XCTAssertEqualObjects(dict, dict2);
2322 [dict release]; 2322 [dict release];
2323 } 2323 }
2324 2324
2325 - (void)testAdds { 2325 - (void)testAdds {
2326 GPBBoolObjectDictionary *dict = [GPBBoolObjectDictionary dictionary]; 2326 GPBBoolObjectDictionary<NSString*> *dict = [GPBBoolObjectDictionary dictionary ];
2327 XCTAssertNotNil(dict); 2327 XCTAssertNotNil(dict);
2328 2328
2329 XCTAssertEqual(dict.count, 0U); 2329 XCTAssertEqual(dict.count, 0U);
2330 [dict setObject:@"abc" forKey:YES]; 2330 [dict setObject:@"abc" forKey:YES];
2331 XCTAssertEqual(dict.count, 1U); 2331 XCTAssertEqual(dict.count, 1U);
2332 2332
2333 const BOOL kKeys[] = { NO }; 2333 const BOOL kKeys[] = { NO };
2334 const id kObjects[] = { @"def" }; 2334 const NSString* kObjects[] = { @"def" };
2335 GPBBoolObjectDictionary *dict2 = 2335 GPBBoolObjectDictionary<NSString*> *dict2 =
2336 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects 2336 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects
2337 forKeys:kKeys 2337 forKeys:kKeys
2338 count:GPBARRAYSIZE(kObjects)]; 2338 count:GPBARRAYSIZE(kObjects)];
2339 XCTAssertNotNil(dict2); 2339 XCTAssertNotNil(dict2);
2340 [dict addEntriesFromDictionary:dict2]; 2340 [dict addEntriesFromDictionary:dict2];
2341 XCTAssertEqual(dict.count, 2U); 2341 XCTAssertEqual(dict.count, 2U);
2342 2342
2343 XCTAssertEqualObjects([dict objectForKey:YES], @"abc"); 2343 XCTAssertEqualObjects([dict objectForKey:YES], @"abc");
2344 XCTAssertEqualObjects([dict objectForKey:NO], @"def"); 2344 XCTAssertEqualObjects([dict objectForKey:NO], @"def");
2345 [dict2 release]; 2345 [dict2 release];
2346 } 2346 }
2347 2347
2348 - (void)testRemove { 2348 - (void)testRemove {
2349 const BOOL kKeys[] = { YES, NO}; 2349 const BOOL kKeys[] = { YES, NO};
2350 const id kObjects[] = { @"abc", @"def" }; 2350 const NSString* kObjects[] = { @"abc", @"def" };
2351 GPBBoolObjectDictionary *dict = 2351 GPBBoolObjectDictionary<NSString*> *dict =
2352 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects 2352 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects
2353 forKeys:kKeys 2353 forKeys:kKeys
2354 count:GPBARRAYSIZE(kObjects)]; 2354 count:GPBARRAYSIZE(kObjects)];
2355 XCTAssertNotNil(dict); 2355 XCTAssertNotNil(dict);
2356 XCTAssertEqual(dict.count, 2U); 2356 XCTAssertEqual(dict.count, 2U);
2357 2357
2358 [dict removeObjectForKey:NO]; 2358 [dict removeObjectForKey:NO];
2359 XCTAssertEqual(dict.count, 1U); 2359 XCTAssertEqual(dict.count, 1U);
2360 XCTAssertEqualObjects([dict objectForKey:YES], @"abc"); 2360 XCTAssertEqualObjects([dict objectForKey:YES], @"abc");
2361 XCTAssertNil([dict objectForKey:NO]); 2361 XCTAssertNil([dict objectForKey:NO]);
2362 2362
2363 // Remove again does nothing. 2363 // Remove again does nothing.
2364 [dict removeObjectForKey:NO]; 2364 [dict removeObjectForKey:NO];
2365 XCTAssertEqual(dict.count, 1U); 2365 XCTAssertEqual(dict.count, 1U);
2366 XCTAssertEqualObjects([dict objectForKey:YES], @"abc"); 2366 XCTAssertEqualObjects([dict objectForKey:YES], @"abc");
2367 XCTAssertNil([dict objectForKey:NO]); 2367 XCTAssertNil([dict objectForKey:NO]);
2368 2368
2369 [dict removeAll]; 2369 [dict removeAll];
2370 XCTAssertEqual(dict.count, 0U); 2370 XCTAssertEqual(dict.count, 0U);
2371 XCTAssertNil([dict objectForKey:YES]); 2371 XCTAssertNil([dict objectForKey:YES]);
2372 XCTAssertNil([dict objectForKey:NO]); 2372 XCTAssertNil([dict objectForKey:NO]);
2373 [dict release]; 2373 [dict release];
2374 } 2374 }
2375 2375
2376 - (void)testInplaceMutation { 2376 - (void)testInplaceMutation {
2377 const BOOL kKeys[] = { YES, NO }; 2377 const BOOL kKeys[] = { YES, NO };
2378 const id kObjects[] = { @"abc", @"def" }; 2378 const NSString* kObjects[] = { @"abc", @"def" };
2379 GPBBoolObjectDictionary *dict = 2379 GPBBoolObjectDictionary<NSString*> *dict =
2380 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects 2380 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects
2381 forKeys:kKeys 2381 forKeys:kKeys
2382 count:GPBARRAYSIZE(kObjects)]; 2382 count:GPBARRAYSIZE(kObjects)];
2383 XCTAssertNotNil(dict); 2383 XCTAssertNotNil(dict);
2384 XCTAssertEqual(dict.count, 2U); 2384 XCTAssertEqual(dict.count, 2U);
2385 XCTAssertEqualObjects([dict objectForKey:YES], @"abc"); 2385 XCTAssertEqualObjects([dict objectForKey:YES], @"abc");
2386 XCTAssertEqualObjects([dict objectForKey:NO], @"def"); 2386 XCTAssertEqualObjects([dict objectForKey:NO], @"def");
2387 2387
2388 [dict setObject:@"def" forKey:YES]; 2388 [dict setObject:@"def" forKey:YES];
2389 XCTAssertEqual(dict.count, 2U); 2389 XCTAssertEqual(dict.count, 2U);
2390 XCTAssertEqualObjects([dict objectForKey:YES], @"def"); 2390 XCTAssertEqualObjects([dict objectForKey:YES], @"def");
2391 XCTAssertEqualObjects([dict objectForKey:NO], @"def"); 2391 XCTAssertEqualObjects([dict objectForKey:NO], @"def");
2392 2392
2393 [dict setObject:@"abc" forKey:NO]; 2393 [dict setObject:@"abc" forKey:NO];
2394 XCTAssertEqual(dict.count, 2U); 2394 XCTAssertEqual(dict.count, 2U);
2395 XCTAssertEqualObjects([dict objectForKey:YES], @"def"); 2395 XCTAssertEqualObjects([dict objectForKey:YES], @"def");
2396 XCTAssertEqualObjects([dict objectForKey:NO], @"abc"); 2396 XCTAssertEqualObjects([dict objectForKey:NO], @"abc");
2397 2397
2398 const BOOL kKeys2[] = { NO, YES }; 2398 const BOOL kKeys2[] = { NO, YES };
2399 const id kObjects2[] = { @"def", @"abc" }; 2399 const NSString* kObjects2[] = { @"def", @"abc" };
2400 GPBBoolObjectDictionary *dict2 = 2400 GPBBoolObjectDictionary<NSString*> *dict2 =
2401 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects2 2401 [[GPBBoolObjectDictionary alloc] initWithObjects:kObjects2
2402 forKeys:kKeys2 2402 forKeys:kKeys2
2403 count:GPBARRAYSIZE(kObjects2)]; 2403 count:GPBARRAYSIZE(kObjects2)];
2404 XCTAssertNotNil(dict2); 2404 XCTAssertNotNil(dict2);
2405 [dict addEntriesFromDictionary:dict2]; 2405 [dict addEntriesFromDictionary:dict2];
2406 XCTAssertEqual(dict.count, 2U); 2406 XCTAssertEqual(dict.count, 2U);
2407 XCTAssertEqualObjects([dict objectForKey:YES], @"abc"); 2407 XCTAssertEqualObjects([dict objectForKey:YES], @"abc");
2408 XCTAssertEqualObjects([dict objectForKey:NO], @"def"); 2408 XCTAssertEqualObjects([dict objectForKey:NO], @"def");
2409 2409
2410 [dict2 release]; 2410 [dict2 release];
2411 [dict release]; 2411 [dict release];
2412 } 2412 }
2413 2413
2414 @end 2414 @end
2415 2415
2416 //%PDDM-EXPAND-END (8 expansions) 2416 //%PDDM-EXPAND-END (8 expansions)
2417 2417
2418 2418
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698