| @@ 837-855 (lines=19) @@ | ||
| 834 | self.assertEqual(b['x.c'], 1) |
|
| 835 | self.assertEqual(b['x.d'], 2) |
|
| 836 | ||
| 837 | def test_setdefault_with_3_keys(self): |
|
| 838 | d = { |
|
| 839 | 'y': { |
|
| 840 | 'z': { |
|
| 841 | 'a': None, |
|
| 842 | 'b': 0, |
|
| 843 | 'c': 1, |
|
| 844 | }, |
|
| 845 | }, |
|
| 846 | } |
|
| 847 | b = KeypathDict(d) |
|
| 848 | b.setdefault('y.z.a', 2) |
|
| 849 | b.setdefault('y.z.b', 2) |
|
| 850 | b.setdefault('y.z.c', 2) |
|
| 851 | b.setdefault('y.z.d', 2) |
|
| 852 | self.assertEqual(b['y.z.a'], None) |
|
| 853 | self.assertEqual(b['y.z.b'], 0) |
|
| 854 | self.assertEqual(b['y.z.c'], 1) |
|
| 855 | self.assertEqual(b['y.z.d'], 2) |
|
| 856 | ||
| @@ 819-835 (lines=17) @@ | ||
| 816 | self.assertEqual(b['c'], 1) |
|
| 817 | self.assertEqual(b['d'], 2) |
|
| 818 | ||
| 819 | def test_setdefault_with_2_keys(self): |
|
| 820 | d = { |
|
| 821 | 'x': { |
|
| 822 | 'a': None, |
|
| 823 | 'b': 0, |
|
| 824 | 'c': 1, |
|
| 825 | }, |
|
| 826 | } |
|
| 827 | b = KeypathDict(d) |
|
| 828 | b.setdefault('x.a', 2) |
|
| 829 | b.setdefault('x.b', 2) |
|
| 830 | b.setdefault('x.c', 2) |
|
| 831 | b.setdefault('x.d', 2) |
|
| 832 | self.assertEqual(b['x.a'], None) |
|
| 833 | self.assertEqual(b['x.b'], 0) |
|
| 834 | self.assertEqual(b['x.c'], 1) |
|
| 835 | self.assertEqual(b['x.d'], 2) |
|
| 836 | ||
| 837 | def test_setdefault_with_3_keys(self): |
|
| 838 | d = { |
|
| @@ 803-817 (lines=15) @@ | ||
| 800 | val = b.pop(['a', 'b']) |
|
| 801 | self.assertEqual(val, 1) |
|
| 802 | ||
| 803 | def test_setdefault_with_1_key(self): |
|
| 804 | d = { |
|
| 805 | 'a': None, |
|
| 806 | 'b': 0, |
|
| 807 | 'c': 1, |
|
| 808 | } |
|
| 809 | b = KeypathDict(d) |
|
| 810 | b.setdefault('a', 2) |
|
| 811 | b.setdefault('b', 2) |
|
| 812 | b.setdefault('c', 2) |
|
| 813 | b.setdefault('d', 2) |
|
| 814 | self.assertEqual(b['a'], None) |
|
| 815 | self.assertEqual(b['b'], 0) |
|
| 816 | self.assertEqual(b['c'], 1) |
|
| 817 | self.assertEqual(b['d'], 2) |
|
| 818 | ||
| 819 | def test_setdefault_with_2_keys(self): |
|
| 820 | d = { |
|