| 676 | |
| 677 | |
| 678 | class TestPartialMethod(unittest.TestCase): |
| 679 | |
| 680 | class A(object): |
| 681 | nothing = functools.partialmethod(capture) |
| 682 | positional = functools.partialmethod(capture, 1) |
| 683 | keywords = functools.partialmethod(capture, a=2) |
| 684 | both = functools.partialmethod(capture, 3, b=4) |
| 685 | spec_keywords = functools.partialmethod(capture, self=1, func=2) |
| 686 | |
| 687 | nested = functools.partialmethod(positional, 5) |
| 688 | |
| 689 | over_partial = functools.partialmethod(functools.partial(capture, c=6), 7) |
| 690 | |
| 691 | static = functools.partialmethod(staticmethod(capture), 8) |
| 692 | cls = functools.partialmethod(classmethod(capture), d=9) |
| 693 | |
| 694 | a = A() |
| 695 | |
| 696 | def test_arg_combinations(self): |
| 697 | self.assertEqual(self.a.nothing(), ((self.a,), {})) |
| 698 | self.assertEqual(self.a.nothing(5), ((self.a, 5), {})) |
| 699 | self.assertEqual(self.a.nothing(c=6), ((self.a,), {'c': 6})) |
| 700 | self.assertEqual(self.a.nothing(5, c=6), ((self.a, 5), {'c': 6})) |
| 701 | |
| 702 | self.assertEqual(self.a.positional(), ((self.a, 1), {})) |
| 703 | self.assertEqual(self.a.positional(5), ((self.a, 1, 5), {})) |
| 704 | self.assertEqual(self.a.positional(c=6), ((self.a, 1), {'c': 6})) |
| 705 | self.assertEqual(self.a.positional(5, c=6), ((self.a, 1, 5), {'c': 6})) |
| 706 | |
| 707 | self.assertEqual(self.a.keywords(), ((self.a,), {'a': 2})) |
| 708 | self.assertEqual(self.a.keywords(5), ((self.a, 5), {'a': 2})) |
| 709 | self.assertEqual(self.a.keywords(c=6), ((self.a,), {'a': 2, 'c': 6})) |
| 710 | self.assertEqual(self.a.keywords(5, c=6), ((self.a, 5), {'a': 2, 'c': 6})) |
| 711 | |
| 712 | self.assertEqual(self.a.both(), ((self.a, 3), {'b': 4})) |
| 713 | self.assertEqual(self.a.both(5), ((self.a, 3, 5), {'b': 4})) |
| 714 | self.assertEqual(self.a.both(c=6), ((self.a, 3), {'b': 4, 'c': 6})) |
| 715 | self.assertEqual(self.a.both(5, c=6), ((self.a, 3, 5), {'b': 4, 'c': 6})) |
| 716 | |
| 717 | self.assertEqual(self.A.both(self.a, 5, c=6), ((self.a, 3, 5), {'b': 4, 'c': 6})) |
| 718 | |
| 719 | self.assertEqual(self.a.spec_keywords(), ((self.a,), {'self': 1, 'func': 2})) |
| 720 | |
| 721 | def test_nested(self): |
| 722 | self.assertEqual(self.a.nested(), ((self.a, 1, 5), {})) |
| 723 | self.assertEqual(self.a.nested(6), ((self.a, 1, 5, 6), {})) |
| 724 | self.assertEqual(self.a.nested(d=7), ((self.a, 1, 5), {'d': 7})) |
| 725 | self.assertEqual(self.a.nested(6, d=7), ((self.a, 1, 5, 6), {'d': 7})) |
| 726 | |
| 727 | self.assertEqual(self.A.nested(self.a, 6, d=7), ((self.a, 1, 5, 6), {'d': 7})) |
| 728 | |
| 729 | def test_over_partial(self): |
| 730 | self.assertEqual(self.a.over_partial(), ((self.a, 7), {'c': 6})) |
| 731 | self.assertEqual(self.a.over_partial(5), ((self.a, 7, 5), {'c': 6})) |
| 732 | self.assertEqual(self.a.over_partial(d=8), ((self.a, 7), {'c': 6, 'd': 8})) |
| 733 | self.assertEqual(self.a.over_partial(5, d=8), ((self.a, 7, 5), {'c': 6, 'd': 8})) |
| 734 | |
| 735 | self.assertEqual(self.A.over_partial(self.a, 5, d=8), ((self.a, 7, 5), {'c': 6, 'd': 8})) |
nothing calls this directly
no test coverage detected
searching dependent graphs…