Source code for ibeis.tests.test_weakref

# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function
import weakref


__DUMMY_WEAKREFS__ = []


[docs]class Dummy(object): def __init__(self): self.myvar = 42
[docs] def notify(self): print(self.myvar)
[docs] def register_dummy(self): global __DUMMY_WEAKREFS__ self_weakref = weakref.ref(self) __DUMMY_WEAKREFS__.append(self_weakref)
[docs] def unregister_dummy(self): global __DUMMY_WEAKREFS__ self_weakref = weakref.ref(self) __DUMMY_WEAKREFS__.remove(self_weakref)
if __name__ == '__main__': self = Dummy() self.register_dummy() assert len(__DUMMY_WEAKREFS__) == 1 self.unregister_dummy() assert len(__DUMMY_WEAKREFS__) == 0