def METHOD_NAME():
    """
    Build a system with 3 dummy molecules.
    All nodes have the following attributes:
    * `atomname`
    * `resname`
    * `resid`
    * `chain` set to `''`
    * `element` set to the value of `atomname`
    * `positions`
    Some nodes have a `charge` attribute set to an integer charge. The
    molecules are connected.
    """
    nodes = (
        {'atomname': 'A', 'resname': 'A', 'resid': 1, },
        {'atomname': 'B', 'resname': 'A', 'resid': 1, 'charge': -1},
        {'atomname': 'C', 'resname': 'A', 'resid': 2, 'charge': 1},
        {'atomname': 'D', 'resname': 'A', 'resid': 3, },
        {'atomname': 'E', 'resname': 'A', 'resid': 4, },
        {'atomname': 'F', 'resname': 'B', 'resid': 4, },
        {'atomname': 'G', 'resname': 'B', 'resid': 4, },
        {'atomname': 'H', 'resname': 'B', 'resid': 4, 'insertion_code': 'A'},
    )
    edges = [(0, 1), (2, 3), (4, 5), (5, 6), (5, 7)]
    graph = nx.Graph()
    for idx, node in enumerate(nodes):
        node['chain'] = ''
        node['element'] = node['atomname']
        node['position'] = np.array([1, 2, -3])
        graph.add_node(idx, **node)
    graph.add_edges_from(edges)
    molecules = [Molecule(graph.subgraph(component))
                 for component in nx.connected_components(graph)]
    system = vermouth.system.System()
    system.molecules = molecules
    return system