MCPcopy Create free account
hub / github.com/ipython/traitlets / test_partial_init

Method test_partial_init

tests/utils/test_decorators.py:36–65  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

34 self.assertEqual(f.value, "World")
35
36 def test_partial_init(self):
37 @signature_has_traits
38 class Foo(HasTraits):
39 number1 = Int()
40 number2 = Int()
41 value = Unicode("Hello")
42
43 def __init__(self, arg1, **kwargs):
44 self.arg1 = arg1
45
46 super().__init__(**kwargs)
47
48 parameters = signature(Foo).parameters
49 parameter_names = list(parameters)
50
51 self.assertIs(parameters["arg1"].kind, Parameter.POSITIONAL_OR_KEYWORD)
52 self.assertEqual("arg1", parameter_names[0])
53
54 self.assertIs(parameters["number1"].kind, Parameter.KEYWORD_ONLY)
55 self.assertIs(parameters["number2"].kind, Parameter.KEYWORD_ONLY)
56 self.assertIs(parameters["value"].kind, Parameter.KEYWORD_ONLY)
57
58 self.assertIs(parameters["kwargs"].kind, Parameter.VAR_KEYWORD)
59 self.assertEqual("kwargs", parameter_names[-1])
60
61 f = Foo(1, number1=32, value="World")
62 self.assertEqual(f.arg1, 1)
63 self.assertEqual(f.number1, 32)
64 self.assertEqual(f.number2, 0)
65 self.assertEqual(f.value, "World")
66
67 def test_duplicate_init(self):
68 @signature_has_traits

Callers

nothing calls this directly

Calls 1

FooClass · 0.70

Tested by

no test coverage detected