diff --git a/Tests/Foundation/CPKeyValueCodingTest.j b/Tests/Foundation/CPKeyValueCodingTest.j index 604ca8f8a..3e8ea242d 100644 --- a/Tests/Foundation/CPKeyValueCodingTest.j +++ b/Tests/Foundation/CPKeyValueCodingTest.j @@ -26,18 +26,18 @@ var accessIVARS = YES; @implementation KVCTestClass : CPObject { - id _privatePropertyWithoutAccessors; - id publicPropertyWithoutAccessors; - id _isPrivateBoolPropertyWithoutAccessors; - id isPublicBoolPropertyWithoutAccessors; + id _privatePropertyWithoutAccessors; + id publicPropertyWithoutAccessors; + id _isPrivateBoolPropertyWithoutAccessors; + id isPublicBoolPropertyWithoutAccessors; - //use triple underscore to avoid direct access to instance variables - id ___propertyWithPublicGetAccessor @accessors(getter=getPropertyWithPublicGetAccessor); - id ___propertyWithPublicAccessor @accessors(getter=propertyWithPublicAccessor, setter=setPropertyWithPublicAccessor:); - id ___propertyWithPublicBoolAccessor @accessors(getter=isPropertyWithPublicBoolAccessor); - id ___propertyWithPrivateGetAccessor @accessors(getter=_getPropertyWithPrivateGetAccessor); - id ___propertyWithPrivateAccessor @accessors(getter=_propertyWithPrivateAccessor, setter=_setPropertyWithPrivateAccessor:); - id ___propertyWithPrivateBoolAccessor @accessors(getter=_isPropertyWithPrivateBoolAccessor); + //use triple underscore to avoid direct access to instance variables + id ___propertyWithPublicGetAccessor @accessors(getter=getPropertyWithPublicGetAccessor); + id ___propertyWithPublicAccessor @accessors(getter=propertyWithPublicAccessor, setter=setPropertyWithPublicAccessor:); + id ___propertyWithPublicBoolAccessor @accessors(getter=isPropertyWithPublicBoolAccessor); + id ___propertyWithPrivateGetAccessor @accessors(getter=_getPropertyWithPrivateGetAccessor); + id ___propertyWithPrivateAccessor @accessors(getter=_propertyWithPrivateAccessor, setter=_setPropertyWithPrivateAccessor:); + id ___propertyWithPrivateBoolAccessor @accessors(getter=_isPropertyWithPrivateBoolAccessor); } + (BOOL)accessInstanceVariablesDirectly @@ -47,26 +47,26 @@ var accessIVARS = YES; + (void)setAccessInstanceVariablesDirectly:(BOOL)accessDirectly { - accessIVARS = accessDirectly; + accessIVARS = accessDirectly; } - (id)init { - if(self = [super init]) - { - _privatePropertyWithoutAccessors = "_privatePropertyWithoutAccessors"; - publicPropertyWithoutAccessors = "publicPropertyWithoutAccessors"; - _isPrivateBoolPropertyWithoutAccessors = "_isPrivateBoolPropertyWithoutAccessors"; - isPublicBoolPropertyWithoutAccessors = "isPublicBoolPropertyWithoutAccessors"; + if(self = [super init]) + { + _privatePropertyWithoutAccessors = "_privatePropertyWithoutAccessors"; + publicPropertyWithoutAccessors = "publicPropertyWithoutAccessors"; + _isPrivateBoolPropertyWithoutAccessors = "_isPrivateBoolPropertyWithoutAccessors"; + isPublicBoolPropertyWithoutAccessors = "isPublicBoolPropertyWithoutAccessors"; - ___propertyWithPublicGetAccessor = "___propertyWithPublicGetAccessor"; - ___propertyWithPublicAccessor = "___propertyWithPublicAccessor"; - ___propertyWithPublicBoolAccessor = "___propertyWithPublicBoolAccessor"; - ___propertyWithPrivateGetAccessor = "___propertyWithPrivateGetAccessor"; - ___propertyWithPrivateAccessor = "___propertyWithPrivateAccessor"; - ___propertyWithPrivateBoolAccessor = "___propertyWithPrivateBoolAccessor"; - } - return self; + ___propertyWithPublicGetAccessor = "___propertyWithPublicGetAccessor"; + ___propertyWithPublicAccessor = "___propertyWithPublicAccessor"; + ___propertyWithPublicBoolAccessor = "___propertyWithPublicBoolAccessor"; + ___propertyWithPrivateGetAccessor = "___propertyWithPrivateGetAccessor"; + ___propertyWithPrivateAccessor = "___propertyWithPrivateAccessor"; + ___propertyWithPrivateBoolAccessor = "___propertyWithPrivateBoolAccessor"; + } + return self; } @end @@ -74,14 +74,14 @@ var accessIVARS = YES; @implementation CPKeyValueCodingTest : OJTestCase { - id kvcTestObject; + id kvcTestObject; } - (void)setUp { - //do not allow direct access to assure that accessor are used by default - [KVCTestClass setAccessInstanceVariablesDirectly: NO]; - kvcTestObject = [[KVCTestClass alloc] init]; + //do not allow direct access to assure that accessor are used by default + [KVCTestClass setAccessInstanceVariablesDirectly: NO]; + kvcTestObject = [[KVCTestClass alloc] init]; } @end @@ -92,7 +92,7 @@ var accessIVARS = YES; - (void)testIfExceptionIsThrownWhenUndefinedKeyIsAccessed { - [self assertThrows:function(){[kvcTestObject valueForKey:@"anUndefinedKey"];}]; + [self assertThrows:function(){[kvcTestObject valueForKey:@"anUndefinedKey"];}]; } @end @@ -101,26 +101,26 @@ var accessIVARS = YES; - (void)testIfPrivateInstanceVariableCanDirectlyBeAccessedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"];}]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"];}]; } - (void)testIfPublicInstanceVariableCanDirectlyBeAccessedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"];}]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"];}]; } - (void)testIfBooleanPrivateInstanceVariableCanDirectlyBeAccessedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"];}]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"];}]; } - (void)testIfBooleanPublicInstanceVariableCanDirectlyBeAccessedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"];}]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"];}]; } @end @@ -129,22 +129,22 @@ var accessIVARS = YES; - (void)testIfPrivateInstanceVariableCanNotDirectlyBeAccessedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"];}]; } - (void)testIfPublicInstanceVariableCanNotDirectlyBeAccessedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"];}]; } - (void)testIfBooleanPrivateInstanceVariableCanNotDirectlyBeAccessedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"];}]; } - (void)testIfBooleanPublicInstanceVariableCanNotDirectlyBeAccessedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"];}]; } @end @@ -153,32 +153,32 @@ var accessIVARS = YES; - (void)testIfPublicGetAccessorIsFound { - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPublicGetAccessor"];}]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPublicGetAccessor"];}]; } - (void)testIfPublicAccessorIsFound { - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPublicAccessor"];}]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPublicAccessor"];}]; } - (void)testIfPublicBoolAccessorIsFound { - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPublicBoolAccessor"];}]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPublicBoolAccessor"];}]; } - (void)testIfPrivateGetAccessorIsFound { - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPrivateGetAccessor"];}]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPrivateGetAccessor"];}]; } - (void)testIfPrivateAccessorIsFound { - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPrivateAccessor"];}]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPrivateAccessor"];}]; } - (void)testIfPrivateBoolAccessorIsFound { - [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPrivateBoolAccessor"];}]; + [self assertNoThrow:function(){[kvcTestObject valueForKey:@"propertyWithPrivateBoolAccessor"];}]; } @end @@ -187,53 +187,53 @@ var accessIVARS = YES; - (void)testIfDictionaryWithValuesForKeysDoesNotThrowsUndefinedKeyException { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", - "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" - ]; - [self assertNoThrow:function(){[kvcTestObject dictionaryWithValuesForKeys: allKeys];}]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", + "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" + ]; + [self assertNoThrow:function(){[kvcTestObject dictionaryWithValuesForKeys: allKeys];}]; } - (void)testIfDictionaryWithValuesForKeysDoesThrowUndefinedKeyExceptionBecauseOfProhibitedDirectInstanceVariableAccess { - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", - "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" - ]; - [self assertThrows:function(){[kvcTestObject dictionaryWithValuesForKeys: allKeys];}]; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", + "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" + ]; + [self assertThrows:function(){[kvcTestObject dictionaryWithValuesForKeys: allKeys];}]; } - (void)testIfDictionaryWithValuesForKeysCountIsEqualToNumberOfPropertyKeysGiven { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", - "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" - ]; - var dictForKeys = [kvcTestObject dictionaryWithValuesForKeys: allKeys]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", + "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" + ]; + var dictForKeys = [kvcTestObject dictionaryWithValuesForKeys: allKeys]; - [self assert: [allKeys count] equals: [dictForKeys count]]; + [self assert: [allKeys count] equals: [dictForKeys count]]; } - (void)testIfDictionaryWithValuesForKeysAreSameAsPropertyValues { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", - "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" - ]; - var dictForKeys = [kvcTestObject dictionaryWithValuesForKeys: allKeys]; - var key, value, keyEnumerator = [dictForKeys keyEnumerator]; - while(key = [keyEnumerator nextObject]) - { - value = [dictForKeys objectForKey: key]; - [self assert: [kvcTestObject valueForKey: key] same: value]; - } + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicGetAccessor", "propertyWithPublicAccessor","propertyWithPublicBoolAccessor", + "propertyWithPrivateGetAccessor", "propertyWithPrivateAccessor", "propertyWithPrivateBoolAccessor" + ]; + var dictForKeys = [kvcTestObject dictionaryWithValuesForKeys: allKeys]; + var key, value, keyEnumerator = [dictForKeys keyEnumerator]; + while(key = [keyEnumerator nextObject]) + { + value = [dictForKeys objectForKey: key]; + [self assert: [kvcTestObject valueForKey: key] same: value]; + } } @end @@ -244,7 +244,7 @@ var accessIVARS = YES; - (void)testIfExceptionIsThrownWhenUndefinedKeyIsModified { - [self assertThrows:function(){[kvcTestObject setValue: "aValue" forKey:@"anUndefinedKey"];}]; + [self assertThrows:function(){[kvcTestObject setValue: "aValue" forKey:@"anUndefinedKey"];}]; } @end @@ -253,42 +253,42 @@ var accessIVARS = YES; - (void)testIfPrivateInstanceVariableCanDirectlyBeModifiedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var aValue = @"aValue"; - [self assert: aValue notSame: [kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"]]; - [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"privatePropertyWithoutAccessors"];}]; - [self assert: aValue same: [kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"]]; + var aValue = @"aValue"; + [self assert: aValue notSame: [kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"]]; + [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"privatePropertyWithoutAccessors"];}]; + [self assert: aValue same: [kvcTestObject valueForKey:@"privatePropertyWithoutAccessors"]]; } - (void)testIfPublicInstanceVariableCanDirectlyBeModifiedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var aValue = @"aValue"; - [self assert: aValue notSame: [kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"]]; - [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"publicPropertyWithoutAccessors"];}]; - [self assert: aValue same: [kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"]]; + var aValue = @"aValue"; + [self assert: aValue notSame: [kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"]]; + [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"publicPropertyWithoutAccessors"];}]; + [self assert: aValue same: [kvcTestObject valueForKey:@"publicPropertyWithoutAccessors"]]; } - (void)testIfBooleanPrivateInstanceVariableCanDirectlyBeModifiedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var aValue = @"aValue"; - [self assert: aValue notSame: [kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"]]; - [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"privateBoolPropertyWithoutAccessors"];}]; - [self assert: aValue same: [kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"]]; + var aValue = @"aValue"; + [self assert: aValue notSame: [kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"]]; + [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"privateBoolPropertyWithoutAccessors"];}]; + [self assert: aValue same: [kvcTestObject valueForKey:@"privateBoolPropertyWithoutAccessors"]]; } - (void)testIfBooleanPublicInstanceVariableCanDirectlyBeModifiedWhenAllowedByClassMethod { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var aValue = @"aValue"; - [self assert: aValue notSame: [kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"]]; - [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"publicBoolPropertyWithoutAccessors"];}]; - [self assert: aValue same: [kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"]]; + var aValue = @"aValue"; + [self assert: aValue notSame: [kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"]]; + [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"publicBoolPropertyWithoutAccessors"];}]; + [self assert: aValue same: [kvcTestObject valueForKey:@"publicBoolPropertyWithoutAccessors"]]; } @end @@ -297,22 +297,22 @@ var accessIVARS = YES; - (void)testIfPrivateInstanceVariableCanNotDirectlyBeModifiedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"privatePropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"privatePropertyWithoutAccessors"];}]; } - (void)testIfPublicInstanceVariableCanNotDirectlyBeModifiedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"publicPropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"publicPropertyWithoutAccessors"];}]; } - (void)testIfBooleanPrivateInstanceVariableCanNotDirectlyBeModifiedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"privateBoolPropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"privateBoolPropertyWithoutAccessors"];}]; } - (void)testIfBooleanPublicInstanceVariableCanNotDirectlyBeModifiedWhenProhibitedByClassMethod { - [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"publicBoolPropertyWithoutAccessors"];}]; + [self assertThrows:function(){[kvcTestObject setValue: @"aValue" forKey:@"publicBoolPropertyWithoutAccessors"];}]; } @end @@ -321,18 +321,18 @@ var accessIVARS = YES; - (void)testIfPublicModifierIsFound { - var aValue = @"aValue"; - [self assert: aValue notSame: [kvcTestObject valueForKey:@"propertyWithPublicAccessor"]]; - [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"propertyWithPublicAccessor"];}]; - [self assert: aValue same: [kvcTestObject valueForKey:@"propertyWithPublicAccessor"]]; + var aValue = @"aValue"; + [self assert: aValue notSame: [kvcTestObject valueForKey:@"propertyWithPublicAccessor"]]; + [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"propertyWithPublicAccessor"];}]; + [self assert: aValue same: [kvcTestObject valueForKey:@"propertyWithPublicAccessor"]]; } - (void)testIfPrivateModifierIsFound { - var aValue = @"aValue"; - [self assert: aValue notSame: [kvcTestObject valueForKey:@"propertyWithPrivateAccessor"]]; - [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"propertyWithPrivateAccessor"];}]; - [self assert: aValue same: [kvcTestObject valueForKey:@"propertyWithPrivateAccessor"]]; + var aValue = @"aValue"; + [self assert: aValue notSame: [kvcTestObject valueForKey:@"propertyWithPrivateAccessor"]]; + [self assertNoThrow:function(){[kvcTestObject setValue: aValue forKey:@"propertyWithPrivateAccessor"];}]; + [self assert: aValue same: [kvcTestObject valueForKey:@"propertyWithPrivateAccessor"]]; } @end @@ -341,49 +341,49 @@ var accessIVARS = YES; - (void)testIfSetValuesForKeysWithDictionaryDoesNotThrowsUndefinedKeyException { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var value = @"aValue"; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicAccessor","propertyWithPrivateAccessor" - ]; - var allValues = [value,value,value,value,value,value]; - var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; - [self assertNoThrow:function(){[kvcTestObject setValuesForKeysWithDictionary: dictForKeys];}]; + var value = @"aValue"; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicAccessor","propertyWithPrivateAccessor" + ]; + var allValues = [value,value,value,value,value,value]; + var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; + [self assertNoThrow:function(){[kvcTestObject setValuesForKeysWithDictionary: dictForKeys];}]; } - (void)testIfSetValuesForKeysWithDictionaryDoesThrowUndefinedKeyExceptionBecauseOfProhibitedDirectInstanceVariableAccess { - var value = @"aValue"; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicAccessor","propertyWithPrivateAccessor" - ]; - var allValues = [value,value,value,value,value,value]; - var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; - [self assertThrows:function(){[kvcTestObject setValuesForKeysWithDictionary: dictForKeys];}]; + var value = @"aValue"; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicAccessor","propertyWithPrivateAccessor" + ]; + var allValues = [value,value,value,value,value,value]; + var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; + [self assertThrows:function(){[kvcTestObject setValuesForKeysWithDictionary: dictForKeys];}]; } - (void)testIfSetValuesForKeysWithDictionaryAreSameAsPropertyValues { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var value = @"aValue"; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicAccessor","propertyWithPrivateAccessor" - ]; - var allValues = [value,value,value,value,value,value]; - var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; - [kvcTestObject setValuesForKeysWithDictionary: dictForKeys]; + var value = @"aValue"; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicAccessor","propertyWithPrivateAccessor" + ]; + var allValues = [value,value,value,value,value,value]; + var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; + [kvcTestObject setValuesForKeysWithDictionary: dictForKeys]; - var key, aValue, keyEnumerator = [dictForKeys keyEnumerator]; - while(key = [keyEnumerator nextObject]) - { - aValue = [dictForKeys objectForKey: key]; - [self assert: [kvcTestObject valueForKey: key] same: aValue]; - } + var key, aValue, keyEnumerator = [dictForKeys keyEnumerator]; + while(key = [keyEnumerator nextObject]) + { + aValue = [dictForKeys objectForKey: key]; + [self assert: [kvcTestObject valueForKey: key] same: aValue]; + } } @end @@ -394,47 +394,47 @@ var accessIVARS = YES; - (void)testIfNilValuesAreProperlyConvertedToCPNullInDictionary { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - [kvcTestObject setValue:nil forKey: "privatePropertyWithoutAccessors"]; - [kvcTestObject setValue:nil forKey: "publicPropertyWithoutAccessors"]; - [kvcTestObject setValue:nil forKey: "privateBoolPropertyWithoutAccessors"]; - [kvcTestObject setValue:nil forKey: "publicBoolPropertyWithoutAccessors"]; - [kvcTestObject setValue:nil forKey: "propertyWithPublicAccessor"]; - [kvcTestObject setValue:nil forKey: "propertyWithPrivateAccessor"]; + [kvcTestObject setValue:nil forKey: "privatePropertyWithoutAccessors"]; + [kvcTestObject setValue:nil forKey: "publicPropertyWithoutAccessors"]; + [kvcTestObject setValue:nil forKey: "privateBoolPropertyWithoutAccessors"]; + [kvcTestObject setValue:nil forKey: "publicBoolPropertyWithoutAccessors"]; + [kvcTestObject setValue:nil forKey: "propertyWithPublicAccessor"]; + [kvcTestObject setValue:nil forKey: "propertyWithPrivateAccessor"]; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicAccessor", "propertyWithPrivateAccessor" - ]; - var dictForKeys = [kvcTestObject dictionaryWithValuesForKeys: allKeys]; - var key, value, keyEnumerator = [dictForKeys keyEnumerator]; - while(key = [keyEnumerator nextObject]) - { - value = [dictForKeys objectForKey: key]; - [self assert: [CPNull null] same:value ]; - } + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicAccessor", "propertyWithPrivateAccessor" + ]; + var dictForKeys = [kvcTestObject dictionaryWithValuesForKeys: allKeys]; + var key, value, keyEnumerator = [dictForKeys keyEnumerator]; + while(key = [keyEnumerator nextObject]) + { + value = [dictForKeys objectForKey: key]; + [self assert: [CPNull null] same:value ]; + } } - (void)testIfCPNullInDictionaryIsProperlyConvertedToNilValues { - [KVCTestClass setAccessInstanceVariablesDirectly: YES]; + [KVCTestClass setAccessInstanceVariablesDirectly: YES]; - var value = [CPNull null]; - var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", - "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", - "propertyWithPublicAccessor","propertyWithPrivateAccessor" - ]; - var allValues = [value,value,value,value,value,value]; - var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; - [kvcTestObject setValuesForKeysWithDictionary: dictForKeys]; + var value = [CPNull null]; + var allKeys = [ "privatePropertyWithoutAccessors","publicPropertyWithoutAccessors", + "privateBoolPropertyWithoutAccessors","publicBoolPropertyWithoutAccessors", + "propertyWithPublicAccessor","propertyWithPrivateAccessor" + ]; + var allValues = [value,value,value,value,value,value]; + var dictForKeys = [CPDictionary dictionaryWithObjects: allValues forKeys: allKeys]; + [kvcTestObject setValuesForKeysWithDictionary: dictForKeys]; - [self assertNull: [kvcTestObject valueForKey: "privatePropertyWithoutAccessors"]]; - [self assertNull: [kvcTestObject valueForKey: "publicPropertyWithoutAccessors"]]; - [self assertNull: [kvcTestObject valueForKey: "privateBoolPropertyWithoutAccessors"]]; - [self assertNull: [kvcTestObject valueForKey: "publicBoolPropertyWithoutAccessors"]]; - [self assertNull: [kvcTestObject valueForKey: "propertyWithPublicAccessor"]]; - [self assertNull: [kvcTestObject valueForKey: "propertyWithPrivateAccessor"]]; + [self assertNull: [kvcTestObject valueForKey: "privatePropertyWithoutAccessors"]]; + [self assertNull: [kvcTestObject valueForKey: "publicPropertyWithoutAccessors"]]; + [self assertNull: [kvcTestObject valueForKey: "privateBoolPropertyWithoutAccessors"]]; + [self assertNull: [kvcTestObject valueForKey: "publicBoolPropertyWithoutAccessors"]]; + [self assertNull: [kvcTestObject valueForKey: "propertyWithPublicAccessor"]]; + [self assertNull: [kvcTestObject valueForKey: "propertyWithPrivateAccessor"]]; } @end @@ -445,16 +445,16 @@ var accessIVARS = YES; - (void)testIfValueForKeyAccessesObjectForKey { - var testDictionary = [CPDictionary dictionary]; - [testDictionary setObject:kvcTestObject forKey:@"testKey"]; - [self assert: kvcTestObject same: [testDictionary valueForKey: @"testKey"]]; + var testDictionary = [CPDictionary dictionary]; + [testDictionary setObject:kvcTestObject forKey:@"testKey"]; + [self assert: kvcTestObject same: [testDictionary valueForKey: @"testKey"]]; } - (void)testIfSetValueForKeyModifiesObjectForKey { - var testDictionary = [CPDictionary dictionary]; - [testDictionary setValue:kvcTestObject forKey:@"testKey"]; - [self assert: kvcTestObject same: [testDictionary objectForKey: @"testKey"]]; + var testDictionary = [CPDictionary dictionary]; + [testDictionary setValue:kvcTestObject forKey:@"testKey"]; + [self assert: kvcTestObject same: [testDictionary objectForKey: @"testKey"]]; } @end