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

Method test_full_init

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

Source from the content-addressed store, hash-verified

86 self.assertEqual(f.number2, 36)
87
88 def test_full_init(self):
89 @signature_has_traits
90 class Foo(HasTraits):
91 number1 = Int()
92 number2 = Int()
93 value = Unicode("Hello")
94
95 def __init__(self, arg1, arg2=None, *pos_args, **kw_args):
96 self.arg1 = arg1
97 self.arg2 = arg2
98 self.pos_args = pos_args
99 self.kw_args = kw_args
100
101 super().__init__(*pos_args, **kw_args)
102
103 parameters = signature(Foo).parameters
104 parameter_names = list(parameters)
105
106 self.assertIs(parameters["arg1"].kind, Parameter.POSITIONAL_OR_KEYWORD)
107 self.assertEqual("arg1", parameter_names[0])
108
109 self.assertIs(parameters["arg2"].kind, Parameter.POSITIONAL_OR_KEYWORD)
110 self.assertEqual("arg2", parameter_names[1])
111
112 self.assertIs(parameters["pos_args"].kind, Parameter.VAR_POSITIONAL)
113 self.assertEqual("pos_args", parameter_names[2])
114
115 self.assertIs(parameters["number1"].kind, Parameter.KEYWORD_ONLY)
116 self.assertIs(parameters["number2"].kind, Parameter.KEYWORD_ONLY)
117 self.assertIs(parameters["value"].kind, Parameter.KEYWORD_ONLY)
118
119 self.assertIs(parameters["kw_args"].kind, Parameter.VAR_KEYWORD)
120 self.assertEqual("kw_args", parameter_names[-1])
121
122 f = Foo(1, 3, 45, "hey", number1=32, value="World")
123 self.assertEqual(f.arg1, 1)
124 self.assertEqual(f.arg2, 3)
125 self.assertTupleEqual(f.pos_args, (45, "hey"))
126 self.assertEqual(f.number1, 32)
127 self.assertEqual(f.number2, 0)
128 self.assertEqual(f.value, "World")
129
130 def test_no_kwargs(self):
131 with self.assertRaises(RuntimeError):

Callers

nothing calls this directly

Calls 1

FooClass · 0.70

Tested by

no test coverage detected