def METHOD_NAME():
    """Test highlevel mailbox API"""
    for lazy in [False, True]:
        n_threads_start = len(threading.enumerate())
        print(f"Lazy mode: {lazy}")
        mb = strax.Mailbox(lazy=lazy)
        mb.add_sender(iter(list(range(10))))
        def test_reader(source):
            test_reader.got = r = []
            for s in source:
                r.append(s)
        mb.add_reader(test_reader)
        mb.start()
        time.sleep(SHORT_TIMEOUT)
        assert hasattr(test_reader, 'got')
        assert test_reader.got == list(range(10))
        mb.cleanup()
        threads = [f'{t.name} is dead: {True^t.is_alive()}'
                   for t in threading.enumerate()]
        assert len(threads) == n_threads_start, (
            f"Not all threads died. \n Threads running are:{threads}")