code: def test_fully_connected_graph_order_edges(self, add_self_edges):
      # This helps documenting the order of the output edges, so we are aware
      # in case we accidentally change it.
      graph_batch = utils.get_fully_connected_graph(
          n_node_per_graph=3, n_graph=1, add_self_edges=add_self_edges
      )
  
      if add_self_edges:
          np.testing.assert_array_equal(
              graph_batch.senders, [0, 1, 2] * 3
          )
          np.testing.assert_array_equal(
              graph_batch.receivers, [0] * 3 + [1] * 3 + [2] * 3
          )
      else:
          np.testing.assert_array_equal(
              graph_batch.senders, [1, 2, 2, 0, 0, 1]
          )
          np.testing.assert_array_equal(
              graph_batch.receivers, [0, 0, 1, 1, 2, 2]
          )
  
imports: import functools
  import os
  from absl.testing import absltest
  from absl.testing import parameterized
  import jax
  from jax.lib import xla_bridge
  import jax.numpy
  import jax.tree_util
  from jraph._src import graph
  from jraph._src import utils
  import numpy
label_desc: Use image node_id 31 for calling the GraphTest obj's underlying member method code with example usage: obj.test_fully_connected_graph_order_edges(add__edges) without return types