| @@ 730-748 (lines=19) @@ | ||
| 727 | self.assertEqual(b['x.c'], 1) |
|
| 728 | self.assertEqual(b['x.d'], 2) |
|
| 729 | ||
| 730 | def test_setdefault_with_3_keys(self): |
|
| 731 | d = { |
|
| 732 | 'y': { |
|
| 733 | 'z': { |
|
| 734 | 'a': None, |
|
| 735 | 'b': 0, |
|
| 736 | 'c': 1, |
|
| 737 | }, |
|
| 738 | }, |
|
| 739 | } |
|
| 740 | b = KeypathDict(d) |
|
| 741 | b.setdefault('y.z.a', 2) |
|
| 742 | b.setdefault('y.z.b', 2) |
|
| 743 | b.setdefault('y.z.c', 2) |
|
| 744 | b.setdefault('y.z.d', 2) |
|
| 745 | self.assertEqual(b['y.z.a'], None) |
|
| 746 | self.assertEqual(b['y.z.b'], 0) |
|
| 747 | self.assertEqual(b['y.z.c'], 1) |
|
| 748 | self.assertEqual(b['y.z.d'], 2) |
|
| 749 | ||
| @@ 712-728 (lines=17) @@ | ||
| 709 | self.assertEqual(b['c'], 1) |
|
| 710 | self.assertEqual(b['d'], 2) |
|
| 711 | ||
| 712 | def test_setdefault_with_2_keys(self): |
|
| 713 | d = { |
|
| 714 | 'x': { |
|
| 715 | 'a': None, |
|
| 716 | 'b': 0, |
|
| 717 | 'c': 1, |
|
| 718 | }, |
|
| 719 | } |
|
| 720 | b = KeypathDict(d) |
|
| 721 | b.setdefault('x.a', 2) |
|
| 722 | b.setdefault('x.b', 2) |
|
| 723 | b.setdefault('x.c', 2) |
|
| 724 | b.setdefault('x.d', 2) |
|
| 725 | self.assertEqual(b['x.a'], None) |
|
| 726 | self.assertEqual(b['x.b'], 0) |
|
| 727 | self.assertEqual(b['x.c'], 1) |
|
| 728 | self.assertEqual(b['x.d'], 2) |
|
| 729 | ||
| 730 | def test_setdefault_with_3_keys(self): |
|
| 731 | d = { |
|
| @@ 696-710 (lines=15) @@ | ||
| 693 | with self.assertRaises(KeyError): |
|
| 694 | val = b.pop(['x', 'y']) |
|
| 695 | ||
| 696 | def test_setdefault_with_1_key(self): |
|
| 697 | d = { |
|
| 698 | 'a': None, |
|
| 699 | 'b': 0, |
|
| 700 | 'c': 1, |
|
| 701 | } |
|
| 702 | b = KeypathDict(d) |
|
| 703 | b.setdefault('a', 2) |
|
| 704 | b.setdefault('b', 2) |
|
| 705 | b.setdefault('c', 2) |
|
| 706 | b.setdefault('d', 2) |
|
| 707 | self.assertEqual(b['a'], None) |
|
| 708 | self.assertEqual(b['b'], 0) |
|
| 709 | self.assertEqual(b['c'], 1) |
|
| 710 | self.assertEqual(b['d'], 2) |
|
| 711 | ||
| 712 | def test_setdefault_with_2_keys(self): |
|
| 713 | d = { |
|