public void Filter() { evaluator_count = 0; using (var obj1 = new NSObject()) using (var obj2 = new NSObject()) using (var a = new NSMutableArray()) { a.Add(obj1); a.Add(a); a.Add(obj2); using (NSPredicate p = NSPredicate.FromExpression(Evaluator)) using (var f = a.Filter(p)) { Assert.That(f.ValueAt(0), Is.EqualTo(a.Handle), "0"); Assert.That(f.Count, Is.EqualTo((nuint)1), "Count"); } } Assert.That(evaluator_count, Is.EqualTo(3), "3"); }