@@ -1537,11 +1537,20 @@ def test_array_map():
1537
1537
1538
1538
r1 = arr .map (_ * 2 )
1539
1539
r2 = arr .map (lambda x : x * 2.0 )
1540
- r3 = arr .map (functools .partial (lambda a , b : a + b , b = 2 ))
1540
+ r3 = arr .map (lambda x = 2 : x * 2.0 )
1541
+ r4 = arr .map (lambda a , idx : a + idx )
1542
+ r5 = arr .map (functools .partial (lambda a , idx : a + idx , idx = 2 ))
1543
+ r6 = arr .map (functools .partial (lambda a , idx , c : a + c , c = 2 ))
1541
1544
1542
1545
assert r1 .type () == dt .Array (dt .int16 )
1543
1546
assert r2 .type () == dt .Array (dt .float64 )
1544
- assert r3 .type () == dt .Array (dt .int16 )
1547
+ assert r3 .type () == dt .Array (dt .float64 )
1548
+ assert r4 .type () == dt .Array (dt .int64 )
1549
+ assert r5 .type () == dt .Array (dt .int64 )
1550
+ assert r6 .type () == dt .Array (dt .int16 )
1551
+
1552
+ with pytest .raises (TypeError , match = "missing 1 required positional argument" ):
1553
+ arr .map (lambda a , idx , c : a + 2 )
1545
1554
1546
1555
with pytest .raises (TypeError , match = "must be a Deferred or Callable" ):
1547
1556
# Non-deferred expressions aren't allowed
@@ -1551,13 +1560,22 @@ def test_array_map():
1551
1560
def test_array_filter ():
1552
1561
arr = ibis .array ([1 , 2 , 3 ])
1553
1562
1554
- r1 = arr .filter (lambda x : x < 0 )
1555
- r2 = arr .filter (_ < 0 )
1556
- r3 = arr .filter (functools .partial (lambda a , b : a == b , b = 2 ))
1563
+ r1 = arr .filter (_ < 0 )
1564
+ r2 = arr .filter (lambda x : x < 0 )
1565
+ r3 = arr .filter (lambda x = 4 : x < 0 )
1566
+ r4 = arr .filter (lambda x , idx : x < idx )
1567
+ r5 = arr .filter (functools .partial (lambda a , idx : a == idx , idx = 2 ))
1568
+ r6 = arr .filter (functools .partial (lambda a , idx , c : a == c , c = 2 ))
1557
1569
1558
1570
assert r1 .type () == arr .type ()
1559
1571
assert r2 .type () == arr .type ()
1560
1572
assert r3 .type () == arr .type ()
1573
+ assert r4 .type () == arr .type ()
1574
+ assert r5 .type () == arr .type ()
1575
+ assert r6 .type () == arr .type ()
1576
+
1577
+ with pytest .raises (TypeError , match = "missing 1 required positional argument" ):
1578
+ arr .filter (lambda a , idx , c : a + 2 )
1561
1579
1562
1580
with pytest .raises (TypeError , match = "must be a Deferred or Callable" ):
1563
1581
# Non-deferred expressions aren't allowed
0 commit comments