Lines Matching refs:self
21 def __init__(self):
22 self._spam = 5
25 def spam(self):
27 return self._spam
30 def spam(self, value):
31 self._spam = value
34 def spam(self):
35 del self._spam
40 def spam(self):
42 raise PropertyGet(self._spam)
45 def spam(self, value):
46 raise PropertySet(self._spam)
49 def spam(self):
50 raise PropertyDel(self._spam)
54 def _get_spam(self):
55 return self._spam
60 def spam(self):
62 return self._spam
66 def spam(self):
72 def spam(self):
76 def spam(self):
81 def test_property_decorator_baseclass(self):
84 self.assertEqual(base.spam, 5)
85 self.assertEqual(base._spam, 5)
87 self.assertEqual(base.spam, 10)
88 self.assertEqual(base._spam, 10)
90 self.assertTrue(not hasattr(base, "spam"))
91 self.assertTrue(not hasattr(base, "_spam"))
93 self.assertEqual(base.spam, 20)
94 self.assertEqual(base._spam, 20)
96 def test_property_decorator_subclass(self):
99 self.assertRaises(PropertyGet, getattr, sub, "spam")
100 self.assertRaises(PropertySet, setattr, sub, "spam", None)
101 self.assertRaises(PropertyDel, delattr, sub, "spam")
105 def test_property_decorator_subclass_doc(self):
107 self.assertEqual(sub.__class__.spam.__doc__, "SubClass.getter")
111 def test_property_decorator_baseclass_doc(self):
113 self.assertEqual(base.__class__.spam.__doc__, "BaseClass.getter")
115 def test_property_decorator_doc(self):
118 self.assertEqual(base.__class__.spam.__doc__, "spam spam spam")
119 self.assertEqual(sub.__class__.spam.__doc__, "spam spam spam")
123 def test_property_getter_doc_override(self):
125 self.assertEqual(newgettersub.spam, 5)
126 self.assertEqual(newgettersub.__class__.spam.__doc__, "new docstring")
128 self.assertEqual(newgetter.spam, 8)
129 self.assertEqual(newgetter.__class__.spam.__doc__, "new docstring")
131 def test_property___isabstractmethod__descriptor(self):
134 def foo(self):
138 self.assertIs(C.foo.__isabstractmethod__, bool(val))
143 def __bool__(self):
146 with self.assertRaises(ValueError):
148 def foo(self):
156 def test_property_builtin_doc_writable(self):
158 self.assertEqual(p.__doc__, 'basic')
160 self.assertEqual(p.__doc__, 'extended')
164 def test_property_decorator_doc_writable(self):
168 def spam(self):
173 self.assertEqual(sub.__class__.spam.__doc__, 'Eggs')
175 self.assertEqual(sub.__class__.spam.__doc__, 'Spam')
178 def test_refleaks_in___init__(self):
184 self.assertAlmostEqual(gettotalrefcount() - refs_before, 0, delta=10)
188 def test_class_property(self):
194 self.assertEqual(A.__doc__, "A doc for 'A'")
198 def test_class_property_override(self):
205 self.assertEqual(A.__doc__, 'Second')
207 def test_property_set_name_incorrect_args(self):
211 with self.assertRaisesRegex(
217 def test_property_setname_on_property_subclass(self):
233 np = p.getter(lambda self: 1)
245 def test_slots_docstring_copy_exception(self):
249 def spam(self):
259 def test_docstring_copy(self):
262 def spam(self):
265 self.assertEqual(
271 def test_property_setter_copies_getter_docstring(self):
273 def __init__(self): self._spam = 1
275 def spam(self):
277 return self._spam
279 def spam(self, value):
281 self._spam = value
283 self.assertEqual(foo.spam, 1)
285 self.assertEqual(foo.spam, 2)
286 self.assertEqual(
291 def spam(self, value):
293 self._spam = 'eggs'
295 self.assertEqual(foosub.spam, 1)
297 self.assertEqual(foosub.spam, 'eggs')
298 self.assertEqual(
304 def test_property_new_getter_new_docstring(self):
308 def spam(self):
312 def spam(self):
315 self.assertEqual(Foo.spam.__doc__, "a new docstring")
318 def spam(self):
323 def spam(self):
326 self.assertEqual(Foo.spam.__doc__, "a new docstring")
334 def _format_exc_msg(self, msg):
335 return self.msg_format.format(msg)
341 def test_get_property(self):
342 with self.assertRaisesRegex(AttributeError, self._format_exc_msg("has no getter")):
343 self.obj.foo
345 def test_set_property(self):
346 with self.assertRaisesRegex(AttributeError, self._format_exc_msg("has no setter")):
347 self.obj.foo = None
349 def test_del_property(self):
350 with self.assertRaisesRegex(AttributeError, self._format_exc_msg("has no deleter")):
351 del self.obj.foo