diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_descr.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index b26f165..207aafe 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -1069,6 +1069,29 @@ def weakrefs(): verify(r() is None) del r +def getsets(): + if verbose: print "Testing getset..." + class C(object): + def getx(self): + return self.__x + def setx(self, value): + self.__x = value + def delx(self): + del self.__x + x = getset(getx, setx, delx) + a = C() + verify(not hasattr(a, "x")) + a.x = 42 + verify(a._C__x == 42) + verify(a.x == 42) + del a.x + verify(not hasattr(a, "x")) + verify(not hasattr(a, "_C__x")) + C.x.__set__(a, 100) + verify(C.x.__get__(a) == 100) +## C.x.__set__(a) +## verify(not hasattr(a, "x")) + def all(): lists() dicts() @@ -1098,6 +1121,7 @@ def all(): methods() specials() weakrefs() + getsets() all() |