async def METHOD_NAME(self) -> None:
    async for manager in self._managers():
        companion_a = CompanionInfo(
            udid="a",
            address=TCPAddress(host="ahost", port=123),
            is_local=False,
            pid=None,
        )
        replaced = await manager.add_companion(companion_a)
        self.assertIsNone(replaced)
        companions = await manager.get_companions()
        self.assertEqual(companions, [companion_a])
        companion_b = CompanionInfo(
            udid="b",
            address=TCPAddress(host="bhost", port=123),
            is_local=False,
            pid=None,
        )
        replaced = await manager.add_companion(companion_b)
        self.assertIsNone(replaced)
        companions = await manager.get_companions()
        self.assertEqual(companions, [companion_a, companion_b])
        companion_c = CompanionInfo(
            udid="c",
            address=TCPAddress(host="chost", port=123),
            is_local=False,
            pid=None,
        )
        replaced = await manager.add_companion(companion_c)
        self.assertIsNone(replaced)
        companions = await manager.get_companions()
        self.assertEqual(companions, [companion_a, companion_b, companion_c])
        removed = await manager.remove_companion(companion_b.address)
        companions = await manager.get_companions()
        self.assertEqual(companions, [companion_a, companion_c])
        self.assertEqual(removed, [companion_b])
        removed = await manager.remove_companion("a")
        companions = await manager.get_companions()
        self.assertEqual(companions, [companion_c])