def check_object_garbage_collected(self, obj_create_fn, obj_close_fn=None):
        # given
        object_collected = []
        object_weakref = None

        def object_collected_callback(weakref):
            object_collected.append(True)

        def do():
            obj = obj_create_fn()
            reference = weakref.ref(obj, object_collected_callback)
            if obj_close_fn:
                obj_close_fn(obj)
            return reference

        # when
        with restore_gc_state():
            gc.disable()
            object_weakref = do()

        # The object should have been collected.
        self.assertTrue(object_collected[0])
        self.assertIsNone(object_weakref())
Return a 3-tuple, (ISO year, ISO week number, ISO weekday).
dataset/ETHPy150Open enthought/mayavi/tvtk/tests/common.py/TestGarbageCollection.check_object_garbage_collected--crossover with--dataset/ETHPy150Open nlloyd/SubliminalCollaborator/libs/zope/interface/common/idatetime.py/IDate.isocalendar