diff options
author | Paul Beusterien <paulbeusterien@google.com> | 2018-07-12 12:03:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-12 12:03:50 -0700 |
commit | c586dc8747882770973b6488c9f5f9e6e3f08d6c (patch) | |
tree | 511cda1bd0c67b94ab7bbb8ba22201fecf89909b /GoogleUtilities/Example/Tests/Network/GULMutableDictionaryTest.m | |
parent | 49f2493e14cd68ecc0e08ad2d9fc75739e419a3b (diff) |
Separate Xcode project and tests for GoogleUtilities (#1521)
Diffstat (limited to 'GoogleUtilities/Example/Tests/Network/GULMutableDictionaryTest.m')
-rw-r--r-- | GoogleUtilities/Example/Tests/Network/GULMutableDictionaryTest.m | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/GoogleUtilities/Example/Tests/Network/GULMutableDictionaryTest.m b/GoogleUtilities/Example/Tests/Network/GULMutableDictionaryTest.m new file mode 100644 index 0000000..6378618 --- /dev/null +++ b/GoogleUtilities/Example/Tests/Network/GULMutableDictionaryTest.m @@ -0,0 +1,87 @@ +// Copyright 2018 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import <XCTest/XCTest.h> + +#import <GoogleUtilities/GULMutableDictionary.h> + +const static NSString *const kKey = @"testKey1"; +const static NSString *const kValue = @"testValue1"; +const static NSString *const kKey2 = @"testKey2"; +const static NSString *const kValue2 = @"testValue2"; + +@interface GULMutableDictionaryTest : XCTestCase +@property(nonatomic) GULMutableDictionary *dictionary; +@end + +@implementation GULMutableDictionaryTest + +- (void)setUp { + [super setUp]; + self.dictionary = [[GULMutableDictionary alloc] init]; +} + +- (void)tearDown { + self.dictionary = nil; + [super tearDown]; +} + +- (void)testSetGetAndRemove { + XCTAssertNil([self.dictionary objectForKey:kKey]); + [self.dictionary setObject:kValue forKey:kKey]; + XCTAssertEqual(kValue, [self.dictionary objectForKey:kKey]); + [self.dictionary removeObjectForKey:kKey]; + XCTAssertNil([self.dictionary objectForKey:kKey]); +} + +- (void)testSetGetAndRemoveKeyed { + XCTAssertNil(self.dictionary[kKey]); + self.dictionary[kKey] = kValue; + XCTAssertEqual(kValue, self.dictionary[kKey]); + [self.dictionary removeObjectForKey:kKey]; + XCTAssertNil(self.dictionary[kKey]); +} + +- (void)testRemoveAll { + XCTAssertNil(self.dictionary[kKey]); + XCTAssertNil(self.dictionary[kKey2]); + self.dictionary[kKey] = kValue; + self.dictionary[kKey2] = kValue2; + [self.dictionary removeAllObjects]; + XCTAssertNil(self.dictionary[kKey]); + XCTAssertNil(self.dictionary[kKey2]); +} + +- (void)testCount { + XCTAssertEqual([self.dictionary count], 0); + self.dictionary[kKey] = kValue; + XCTAssertEqual([self.dictionary count], 1); + self.dictionary[kKey2] = kValue2; + XCTAssertEqual([self.dictionary count], 2); + [self.dictionary removeAllObjects]; + XCTAssertEqual([self.dictionary count], 0); +} + +- (void)testUnderlyingDictionary { + XCTAssertEqual([self.dictionary count], 0); + self.dictionary[kKey] = kValue; + self.dictionary[kKey2] = kValue2; + + NSDictionary *dict = self.dictionary.dictionary; + XCTAssertEqual([dict count], 2); + XCTAssertEqual(dict[kKey], kValue); + XCTAssertEqual(dict[kKey2], kValue2); +} + +@end |