def METHOD_NAME(self):
    @cache.memoize(engine="memory", key=lambda x: (str(x), "square"))
    def square(x):
        return x * x
    @cache.memoize(engine="memory", key=lambda x: (str(x), "double"))
    def double(x):
        return x + x
    assert self.get("3") is None
    assert square(3) == 9
    assert self.get("3") == {"square": 9}
    assert double(3) == 6
    assert self.get("3") == {"square": 9, "double": 6}