(self)
| 1668 | self.assertEqual({i:i+1 for i in nums}, {1: 2, 2: 3, 3: 4}) |
| 1669 | |
| 1670 | def test_listcomps(self): |
| 1671 | # list comprehension tests |
| 1672 | nums = [1, 2, 3, 4, 5] |
| 1673 | strs = ["Apple", "Banana", "Coconut"] |
| 1674 | spcs = [" Apple", " Banana ", "Coco nut "] |
| 1675 | |
| 1676 | self.assertEqual([s.strip() for s in spcs], ['Apple', 'Banana', 'Coco nut']) |
| 1677 | self.assertEqual([3 * x for x in nums], [3, 6, 9, 12, 15]) |
| 1678 | self.assertEqual([x for x in nums if x > 2], [3, 4, 5]) |
| 1679 | self.assertEqual([(i, s) for i in nums for s in strs], |
| 1680 | [(1, 'Apple'), (1, 'Banana'), (1, 'Coconut'), |
| 1681 | (2, 'Apple'), (2, 'Banana'), (2, 'Coconut'), |
| 1682 | (3, 'Apple'), (3, 'Banana'), (3, 'Coconut'), |
| 1683 | (4, 'Apple'), (4, 'Banana'), (4, 'Coconut'), |
| 1684 | (5, 'Apple'), (5, 'Banana'), (5, 'Coconut')]) |
| 1685 | self.assertEqual([(i, s) for i in nums for s in [f for f in strs if "n" in f]], |
| 1686 | [(1, 'Banana'), (1, 'Coconut'), (2, 'Banana'), (2, 'Coconut'), |
| 1687 | (3, 'Banana'), (3, 'Coconut'), (4, 'Banana'), (4, 'Coconut'), |
| 1688 | (5, 'Banana'), (5, 'Coconut')]) |
| 1689 | self.assertEqual([(lambda a:[a**i for i in range(a+1)])(j) for j in range(5)], |
| 1690 | [[1], [1, 1], [1, 2, 4], [1, 3, 9, 27], [1, 4, 16, 64, 256]]) |
| 1691 | |
| 1692 | def test_in_func(l): |
| 1693 | return [0 < x < 3 for x in l if x > 2] |
| 1694 | |
| 1695 | self.assertEqual(test_in_func(nums), [False, False, False]) |
| 1696 | |
| 1697 | def test_nested_front(): |
| 1698 | self.assertEqual([[y for y in [x, x + 1]] for x in [1,3,5]], |
| 1699 | [[1, 2], [3, 4], [5, 6]]) |
| 1700 | |
| 1701 | test_nested_front() |
| 1702 | |
| 1703 | check_syntax_error(self, "[i, s for i in nums for s in strs]") |
| 1704 | check_syntax_error(self, "[x if y]") |
| 1705 | |
| 1706 | suppliers = [ |
| 1707 | (1, "Boeing"), |
| 1708 | (2, "Ford"), |
| 1709 | (3, "Macdonalds") |
| 1710 | ] |
| 1711 | |
| 1712 | parts = [ |
| 1713 | (10, "Airliner"), |
| 1714 | (20, "Engine"), |
| 1715 | (30, "Cheeseburger") |
| 1716 | ] |
| 1717 | |
| 1718 | suppart = [ |
| 1719 | (1, 10), (1, 20), (2, 20), (3, 30) |
| 1720 | ] |
| 1721 | |
| 1722 | x = [ |
| 1723 | (sname, pname) |
| 1724 | for (sno, sname) in suppliers |
| 1725 | for (pno, pname) in parts |
| 1726 | for (sp_sno, sp_pno) in suppart |
| 1727 | if sno == sp_sno and pno == sp_pno |
nothing calls this directly
no test coverage detected