def METHOD_NAME(self):
    """Test that caching is working."""
    counter = 0
    @cached
    def increment(*args, **kwargs):
        nonlocal counter
        counter += 1
        return counter
    self.assertEqual(increment(), 1)
    self.assertEqual(increment(), 1)
    self.assertEqual(increment(), 1)
    self.assertEqual(increment(["hello", "world"]), 2)
    self.assertEqual(increment(["hello", "world"]), 2)
    self.assertEqual(increment(["hello", "world"]), 2)
    self.assertEqual(increment(), 1)
    self.assertEqual(increment(["hello", "world"]), 2)
    self.assertEqual(increment({"hello": [("world", )]}), 3)
    self.assertEqual(increment({"hello": [("world", )]}), 3)
    self.assertEqual(increment(), 1)
    self.assertEqual(increment(["hello", "world"]), 2)
    self.assertEqual(increment({"hello": [("world", )]}), 3)
    increment.clear()
    self.assertEqual(increment({"hello": [("world", )]}), 4)
    self.assertEqual(increment(["hello", "world"]), 5)
    self.assertEqual(increment(), 6)
    self.assertEqual(increment(None), 7)
    self.assertEqual(increment(1), 8)