code: async def _roundtrip(cls):
          
          getters = {
              name[4:]: getattr(cls, name) for name in dir(cls)
              if name.startswith("get_") and name != "get_config"
          }
          setters = {
              name[4:]: getattr(cls, name) for name in dir(cls)
              if name.startswith("set_") and name != "set_config"
          }
  
          for name, getter in getters.items():
              print(">>>", name)
              value = await getter()
              print(" ->", repr(value))
              print("   ", type(value))
              setter = setters[name]
              try:
                  await setter(value)
              except CallError as error:
                  print(error)
                  print(error.content.decode("utf-8", "replace"))
              else:
                  value2 = await getter()
                  if value2 != value:
                      print(
                          "!!! Round-trip failed:", repr(value),
                          "-->", repr(value2))
docs: Testing helper: gets each value and sets it again.