def METHOD_NAME(self):
    r"""Test basic cache methods.
    Let's start with a clean transaction
    >>> transaction.abort()
    >>> RegularObject.init()
    >>> db = databaseFromString("<zodb>\n"
    ...                         "cache-size 4\n"
    ...                         "<mappingstorage/>\n"
    ...                         "</zodb>")
    >>> cn = db.open()
    >>> r = cn.root()
    >>> L = []
    >>> for i in range(5):
    ...     o = RegularObject()
    ...     L.append(o)
    ...     r[i] = o
    >>> transaction.commit()
    After committing a transaction and calling cacheGC(), there
    should be cache-size (4) objects in the cache.  One of the
    RegularObjects was deactivated.
    >>> cn._cache.ringlen()
    4
    >>> RegularObject.deactivations
    1
    If we explicitly activate the objects again, the ringlen
    should go back up to 5.
    >>> for o in L:
    ...     o._p_activate()
    >>> cn._cache.ringlen()
    5
    >>> cn.cacheGC()
    >>> cn._cache.ringlen()
    4
    >>> RegularObject.deactivations
    2
    >>> cn.cacheMinimize()
    >>> cn._cache.ringlen()
    0
    >>> RegularObject.deactivations
    6
    If we activate all the objects again and mark one as modified,
    then the one object should not be deactivated even by a
    minimize.
    >>> for o in L:
    ...     o._p_activate()
    >>> o.attr = 1
    >>> cn._cache.ringlen()
    5
    >>> cn.cacheMinimize()
    >>> cn._cache.ringlen()
    1
    >>> RegularObject.deactivations
    10
    Clean up
    >>> transaction.abort()
    """