MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_lambdef

Method test_lambdef

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

Source from the content-addressed store, hash-verified

715 def f(a, *, b, **kwds,): pass
716
717 def test_lambdef(self):
718 ### lambdef: 'lambda' [varargslist] ':' test
719 l1 = lambda : 0
720 self.assertEqual(l1(), 0)
721 l2 = lambda : a[d] # XXX just testing the expression
722 l3 = lambda : [2 < x for x in [-1, 3, 0]]
723 self.assertEqual(l3(), [0, 1, 0])
724 l4 = lambda x = lambda y = lambda z=1 : z : y() : x()
725 self.assertEqual(l4(), 1)
726 l5 = lambda x, y, z=2: x + y + z
727 self.assertEqual(l5(1, 2), 5)
728 self.assertEqual(l5(1, 2, 3), 6)
729 check_syntax_error(self, "lambda x: x = 2")
730 check_syntax_error(self, "lambda (None,): None")
731 l6 = lambda x, y, *, k=20: x+y+k
732 self.assertEqual(l6(1,2), 1+2+20)
733 self.assertEqual(l6(1,2,k=10), 1+2+10)
734
735 # check that trailing commas are permitted
736 l10 = lambda a,: 0
737 l11 = lambda *args,: 0
738 l12 = lambda **kwds,: 0
739 l13 = lambda a, *args,: 0
740 l14 = lambda a, **kwds,: 0
741 l15 = lambda *args, b,: 0
742 l16 = lambda *, b,: 0
743 l17 = lambda *args, **kwds,: 0
744 l18 = lambda a, *args, b,: 0
745 l19 = lambda a, *, b,: 0
746 l20 = lambda a, *args, **kwds,: 0
747 l21 = lambda *args, b, **kwds,: 0
748 l22 = lambda *, b, **kwds,: 0
749 l23 = lambda a, *args, b, **kwds,: 0
750 l24 = lambda a, *, b, **kwds,: 0
751
752
753 ### stmt: simple_stmt | compound_stmt

Callers

nothing calls this directly

Calls 4

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

Tested by

no test coverage detected