mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-18 16:33:31 +00:00
Added CPArray -indexesOfObjectPassingTest methods
This commit is contained in:
@@ -198,7 +198,6 @@
|
||||
} context:13] same:1];
|
||||
}
|
||||
|
||||
|
||||
- (void)test_indexOfObjectWithOptions_passingTest
|
||||
{
|
||||
var array = [[[self class] arrayClass] arrayWithObjects:
|
||||
@@ -357,6 +356,111 @@
|
||||
|
||||
}
|
||||
|
||||
- (void)test_indexesOfObjectPassingTest_
|
||||
{
|
||||
var array = [[[self class] arrayClass] arrayWithObjects:
|
||||
{ name:@"Tom", age:7 },
|
||||
{ name:@"Dick", age:13 },
|
||||
{ name:@"Harry", age:27 },
|
||||
{ name:@"Zelda", age:7 }];
|
||||
|
||||
[self assert:[array indexesOfObjectPassingTest:function() { return YES; }] equals:[CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0, 4)]];
|
||||
[self assert:[array indexesOfObjectPassingTest:function() { return NO; }] equals:[CPIndexSet indexSet]];
|
||||
[self assert:[array indexesOfObjectPassingTest:function() { return nil; }] equals:[CPIndexSet indexSet]];
|
||||
|
||||
[self assert:[array indexesOfObjectPassingTest:function(anObject, anIndex)
|
||||
{
|
||||
return [anObject.name isEqual:@"Harry"];
|
||||
}] equals:[CPIndexSet indexSetWithIndex:2]];
|
||||
|
||||
var indexSet = [CPIndexSet indexSetWithIndex:0];
|
||||
[indexSet addIndex:3];
|
||||
|
||||
[self assert:[array indexesOfObjectPassingTest:function(anObject, anIndex)
|
||||
{
|
||||
return anObject.age === 7;
|
||||
}] equals:indexSet];
|
||||
|
||||
[self assert:[array indexesOfObjectPassingTest:function(anObject, anIndex)
|
||||
{
|
||||
return [anObject.name isEqual:@"Horton"];
|
||||
}] equals:[CPIndexSet indexSet]];
|
||||
}
|
||||
|
||||
- (void)test_indexesOfObjectPassingTest_context_
|
||||
{
|
||||
var array = [[[self class] arrayClass] arrayWithObjects:
|
||||
{ name:@"Tom", age:7 },
|
||||
{ name:@"Dick", age:13 },
|
||||
{ name:@"Harry", age:27 },
|
||||
{ name:@"Zelda", age:7 }];
|
||||
|
||||
[self assert:[array indexesOfObjectPassingTest:function(anObject, anIndex, aContext)
|
||||
{
|
||||
return [anObject.name isEqual:aContext];
|
||||
} context:@"Harry"] equals:[CPIndexSet indexSetWithIndex:2]];
|
||||
|
||||
var indexSet = [CPIndexSet indexSetWithIndex:0];
|
||||
[indexSet addIndex:3];
|
||||
|
||||
[self assert:[array indexesOfObjectPassingTest:function(anObject, anIndex, aContext)
|
||||
{
|
||||
return anObject.age === aContext;
|
||||
} context:7] equals:indexSet];
|
||||
}
|
||||
|
||||
- (void)test_indexesOfObjectWithOptions_passingTest
|
||||
{
|
||||
var array = [[[self class] arrayClass] arrayWithObjects:
|
||||
{ name:@"Tom", age:7 },
|
||||
{ name:@"Dick", age:13 },
|
||||
{ name:@"Harry", age:27 },
|
||||
{ name:@"Zelda", age:7 }],
|
||||
namePredicate = function(anObject, anIndex)
|
||||
{
|
||||
return [anObject.name isEqual:@"Harry"];
|
||||
},
|
||||
agePredicate = function(anObject, anIndex)
|
||||
{
|
||||
return anObject.age === 7;
|
||||
};
|
||||
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationNormal passingTest:namePredicate] equals:[CPIndexSet indexSetWithIndex:2]];
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationReverse passingTest:namePredicate] equals:[CPIndexSet indexSetWithIndex:2]];
|
||||
|
||||
var indexSet = [CPIndexSet indexSetWithIndex:0];
|
||||
[indexSet addIndex:3];
|
||||
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationNormal passingTest:agePredicate] equals:indexSet];
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationReverse passingTest:agePredicate] equals:indexSet];
|
||||
}
|
||||
|
||||
- (void)test_indexesOfObjectWithOptions_passingTest_context
|
||||
{
|
||||
var array = [[[self class] arrayClass] arrayWithObjects:
|
||||
{ name:@"Tom", age:7 },
|
||||
{ name:@"Dick", age:13 },
|
||||
{ name:@"Harry", age:27 },
|
||||
{ name:@"Zelda", age:7 }],
|
||||
namePredicate = function(anObject, anIndex, aContext)
|
||||
{
|
||||
return [anObject.name isEqual:aContext];
|
||||
},
|
||||
agePredicate = function(anObject, anIndex, aContext)
|
||||
{
|
||||
return anObject.age === aContext;
|
||||
};
|
||||
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationNormal passingTest:namePredicate context:@"Harry"] equals:[CPIndexSet indexSetWithIndex:2]];
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationReverse passingTest:namePredicate context:@"Harry"] equals:[CPIndexSet indexSetWithIndex:2]];
|
||||
|
||||
var indexSet = [CPIndexSet indexSetWithIndex:0];
|
||||
[indexSet addIndex:3];
|
||||
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationNormal passingTest:agePredicate context:7] equals:indexSet];
|
||||
[self assert:[array indexesOfObjectWithOptions:CPEnumerationReverse passingTest:agePredicate context:7] equals:indexSet];
|
||||
}
|
||||
|
||||
- (void)test_isEqualToArray_
|
||||
{
|
||||
var arrayClass = [[self class] arrayClass],
|
||||
|
||||
Reference in New Issue
Block a user