MCPcopy Index your code
hub / github.com/python/cpython / test_lambdef

Method test_lambdef

Lib/test/test_grammar.py:690–723  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

688 def f(a, *, b, **kwds,): pass
689
690 def test_lambdef(self):
691 ### lambdef: 'lambda' [varargslist] ':' test
692 l1 = lambda : 0
693 self.assertEqual(l1(), 0)
694 l2 = lambda : a[d] # XXX just testing the expression
695 l3 = lambda : [2 < x for x in [-1, 3, 0]]
696 self.assertEqual(l3(), [0, 1, 0])
697 l4 = lambda x = lambda y = lambda z=1 : z : y() : x()
698 self.assertEqual(l4(), 1)
699 l5 = lambda x, y, z=2: x + y + z
700 self.assertEqual(l5(1, 2), 5)
701 self.assertEqual(l5(1, 2, 3), 6)
702 check_syntax_error(self, "lambda x: x = 2")
703 check_syntax_error(self, "lambda (None,): None")
704 l6 = lambda x, y, *, k=20: x+y+k
705 self.assertEqual(l6(1,2), 1+2+20)
706 self.assertEqual(l6(1,2,k=10), 1+2+10)
707
708 # check that trailing commas are permitted
709 l10 = lambda a,: 0
710 l11 = lambda *args,: 0
711 l12 = lambda **kwds,: 0
712 l13 = lambda a, *args,: 0
713 l14 = lambda a, **kwds,: 0
714 l15 = lambda *args, b,: 0
715 l16 = lambda *, b,: 0
716 l17 = lambda *args, **kwds,: 0
717 l18 = lambda a, *args, b,: 0
718 l19 = lambda a, *, b,: 0
719 l20 = lambda a, *args, **kwds,: 0
720 l21 = lambda *args, b, **kwds,: 0
721 l22 = lambda *, b, **kwds,: 0
722 l23 = lambda a, *args, b, **kwds,: 0
723 l24 = lambda a, *, b, **kwds,: 0
724
725
726 ### stmt: simple_stmt | compound_stmt

Callers

nothing calls this directly

Calls 4

check_syntax_errorFunction · 0.90
yFunction · 0.50
xFunction · 0.50
assertEqualMethod · 0.45

Tested by

no test coverage detected