(self)
| 1745 | self.assertEqual({i:i+1 for i in nums}, {1: 2, 2: 3, 3: 4}) |
| 1746 | |
| 1747 | def test_listcomps(self): |
| 1748 | # list comprehension tests |
| 1749 | nums = [1, 2, 3, 4, 5] |
| 1750 | strs = ["Apple", "Banana", "Coconut"] |
| 1751 | spcs = [" Apple", " Banana ", "Coco nut "] |
| 1752 | |
| 1753 | self.assertEqual([s.strip() for s in spcs], ['Apple', 'Banana', 'Coco nut']) |
| 1754 | self.assertEqual([3 * x for x in nums], [3, 6, 9, 12, 15]) |
| 1755 | self.assertEqual([x for x in nums if x > 2], [3, 4, 5]) |
| 1756 | self.assertEqual([(i, s) for i in nums for s in strs], |
| 1757 | [(1, 'Apple'), (1, 'Banana'), (1, 'Coconut'), |
| 1758 | (2, 'Apple'), (2, 'Banana'), (2, 'Coconut'), |
| 1759 | (3, 'Apple'), (3, 'Banana'), (3, 'Coconut'), |
| 1760 | (4, 'Apple'), (4, 'Banana'), (4, 'Coconut'), |
| 1761 | (5, 'Apple'), (5, 'Banana'), (5, 'Coconut')]) |
| 1762 | self.assertEqual([(i, s) for i in nums for s in [f for f in strs if "n" in f]], |
| 1763 | [(1, 'Banana'), (1, 'Coconut'), (2, 'Banana'), (2, 'Coconut'), |
| 1764 | (3, 'Banana'), (3, 'Coconut'), (4, 'Banana'), (4, 'Coconut'), |
| 1765 | (5, 'Banana'), (5, 'Coconut')]) |
| 1766 | self.assertEqual([(lambda a:[a**i for i in range(a+1)])(j) for j in range(5)], |
| 1767 | [[1], [1, 1], [1, 2, 4], [1, 3, 9, 27], [1, 4, 16, 64, 256]]) |
| 1768 | |
| 1769 | def test_in_func(l): |
| 1770 | return [0 < x < 3 for x in l if x > 2] |
| 1771 | |
| 1772 | self.assertEqual(test_in_func(nums), [False, False, False]) |
| 1773 | |
| 1774 | def test_nested_front(): |
| 1775 | self.assertEqual([[y for y in [x, x + 1]] for x in [1,3,5]], |
| 1776 | [[1, 2], [3, 4], [5, 6]]) |
| 1777 | |
| 1778 | test_nested_front() |
| 1779 | |
| 1780 | check_syntax_error(self, "[i, s for i in nums for s in strs]") |
| 1781 | check_syntax_error(self, "[x if y]") |
| 1782 | |
| 1783 | suppliers = [ |
| 1784 | (1, "Boeing"), |
| 1785 | (2, "Ford"), |
| 1786 | (3, "Macdonalds") |
| 1787 | ] |
| 1788 | |
| 1789 | parts = [ |
| 1790 | (10, "Airliner"), |
| 1791 | (20, "Engine"), |
| 1792 | (30, "Cheeseburger") |
| 1793 | ] |
| 1794 | |
| 1795 | suppart = [ |
| 1796 | (1, 10), (1, 20), (2, 20), (3, 30) |
| 1797 | ] |
| 1798 | |
| 1799 | x = [ |
| 1800 | (sname, pname) |
| 1801 | for (sno, sname) in suppliers |
| 1802 | for (pno, pname) in parts |
| 1803 | for (sp_sno, sp_pno) in suppart |
| 1804 | if sno == sp_sno and pno == sp_pno |
nothing calls this directly
no test coverage detected