Index: tests/OFArrayTests.m ================================================================== --- tests/OFArrayTests.m +++ tests/OFArrayTests.m @@ -96,10 +96,28 @@ OFArray *array = [self.arrayClass arrayWithObjects: cArray count: 3]; OTAssertEqualObjects(array, _array); OTAssertNotEqual(array, _array); } + +- (void)testHash +{ + OFArray *array = [self.arrayClass arrayWithObjects: cArray count: 3]; + + OTAssertEqual(array.hash, _array.hash); + OTAssertNotEqual(array.hash, [[OFArray array] hash]); +} + +- (void)testCopy +{ + OTAssertEqualObjects([[_array copy] autorelease], _array); +} + +- (void)testMutableCopy +{ + OTAssertEqualObjects([[_array mutableCopy] autorelease], _array); +} - (void)testObjectAtIndex { OTAssertEqualObjects([_array objectAtIndex: 0], cArray[0]); OTAssertEqualObjects([_array objectAtIndex: 1], cArray[1]); Index: tests/OFDictionaryTests.m ================================================================== --- tests/OFDictionaryTests.m +++ tests/OFDictionaryTests.m @@ -90,10 +90,16 @@ - (void)testCopy { OTAssertEqualObjects([[_dictionary copy] autorelease], _dictionary); } + +- (void)testMutableCopy +{ + OTAssertEqualObjects( + [[_dictionary mutableCopy] autorelease], _dictionary); +} - (void)testValueForKey { OTAssertEqualObjects([_dictionary valueForKey: keys[0]], objects[0]); OTAssertEqualObjects([_dictionary valueForKey: keys[1]], objects[1]); Index: tests/OFSetTests.m ================================================================== --- tests/OFSetTests.m +++ tests/OFSetTests.m @@ -77,10 +77,15 @@ - (void)testCopy { OTAssertEqualObjects([[_set copy] autorelease], _set); } + +- (void)testMutableCopy +{ + OTAssertEqualObjects([[_set mutableCopy] autorelease], _set); +} - (void)testIsSubsetOfSet { OTAssertTrue([([OFSet setWithObjects: @"foo", nil]) isSubsetOfSet: _set]); Index: tests/OFStringTests.m ================================================================== --- tests/OFStringTests.m +++ tests/OFStringTests.m @@ -89,10 +89,20 @@ { OTAssertEqual(_string.hash, @"täṠ€🤔".hash); OTAssertNotEqual([[self.stringClass stringWithString: @"test"] hash], @"täṠ€".hash); } + +- (void)testCopy +{ + OTAssertEqualObjects([[_string copy] autorelease], _string); +} + +- (void)testMutableCopy +{ + OTAssertEqualObjects([[_string mutableCopy] autorelease], _string); +} - (void)testCompare { OTAssertEqual([_string compare: @"täṠ€🤔"], OFOrderedSame); OTAssertEqual([[self.stringClass stringWithString: @""]