def test_publish_one_transceiver(Transceiver):
    """
    Verify publish works with when using one tranceiver
    """
    p = Publisher(5)
    t = Transceiver()
    p.use(t)
    p.publish(b"hello world")
def test_use_transceiver(Transceiver):
    """
    Verify publisher can use a transceiver object
    """
    # set up publisher
    p = Publisher(10)
    t = Transceiver()
    p.use(t)
def test_publish_many_transceivers(Transceiver):
    """
    Verify publish works with when using multiple tranceivers
    """
    p = Publisher(5)
    ts = [Transceiver() for _ in range(10)]
    for t in ts:
        p.use(t)
    p.publish(b"goodbye yellow brick road")
def test_use_multiple_transceivers(Transceiver):
    """
    Verify publisher can use multiple transceivers
    """
    # set up publisher
    p = Publisher(5)
    ts = [Transceiver() for _ in range(10)]
    for t in ts:
        p.use(t)