URL:
  <http://savannah.gnu.org/bugs/?47619>

                 Summary: NSPredicate: aggregate function expressions
implemented incorrectly
                 Project: GNUstep
            Submitted by: thebeing
            Submitted on: Mo 04 Apr 2016 15:04:40 GMT
                Category: Base/Foundation
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

The aggregate function expressions (sum, min, max, avg) in base are
implemented as vararg functions. This is incorrect with respect to the Cocoa
implementation. There they are implemented as single argument functions that
take collections as arguments. 

In particular, the following evaluates truthy:

    NSArray *a = @[ @{ @"count": @1 }, @{ @"count": @1 } ];
    NSPredicate *p = [NSPredicate predicateWithFormat: @"sum(count) == 2"];
    [p evaluateWithObject: a];

(sorry, literal notation for compactness). On GNUstep it raises an
NSInvalidArgumentException (because the array of NSNumbers does not implement
-doubleValue).




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?47619>

_______________________________________________
  Nachricht gesendet von/durch Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-gnustep mailing list
Bug-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to