def METHOD_NAME(self, db_session):
    # Create a fully-connected network.
    net = models.Network()
    db_session.add(net)
    db_session.commit()
    agent1 = nodes.ReplicatorAgent(network=net)
    agent2 = nodes.ReplicatorAgent(network=net)
    agent3 = nodes.ReplicatorAgent(network=net)
    db_session.commit()
    agent1.connect(whom=agent2)
    agent1.connect(whom=agent3)
    agent2.connect(whom=agent1)
    agent2.connect(whom=agent3)
    agent3.connect(whom=agent1)
    agent3.connect(whom=agent2)
    # Add a global source and broadcast to all the nodes.
    source = nodes.RandomBinaryStringSource(network=net)
    for agent in net.nodes(type=Agent):
        source.connect(whom=agent)
        source.transmit(to_whom=agent)
        agent.receive()
    # Run a Moran process for 100 steps.
    for i in range(100):
        processes.moran_cultural(net)
        for agent in net.nodes(type=Agent):
            agent.receive()
    # Ensure that the process had reached fixation.
    from operator import attrgetter
    assert (
        max(agent1.infos(), key=attrgetter("creation_time")).contents
        == max(agent2.infos(), key=attrgetter("creation_time")).contents
    )
    assert (
        max(agent2.infos(), key=attrgetter("creation_time")).contents
        == max(agent3.infos(), key=attrgetter("creation_time")).contents
    )
    assert (
        max(agent3.infos(), key=attrgetter("creation_time")).contents
        == max(agent1.infos(), key=attrgetter("creation_time")).contents
    )