code: def test_prop_nodes_bfs(idtype):
      g = create_graph(idtype)
      g.ndata["x"] = F.ones((5, 2))
      dgl.prop_nodes_bfs(
          g,
          0,
          message_func=mfunc,
          reduce_func=rfunc,
          apply_node_func=None,
      )
      # pull nodes using bfs order will result in a cumsum[i] + data[i] + data[i+1]
      assert F.allclose(
          g.ndata["x"],
          F.tensor(
              [
                  [2.0, 2.0],
                  [4.0, 4.0],
                  [6.0, 6.0],
                  [8.0, 8.0],
                  [9.0, 9.0],
              ]
          ),
      )
  
file_path: dgl/tests/python/common/test_propagate.py
imports: import unittest
  import backend
  import dgl
  import networkx
  from utils import check_fail, parametrize_idtype
label_desc: Use image node_id 4 for calling a global function with example usage: test_prop_nodes_bfs(idtype) without return types