code: def test_geoscattering():
      """
      Test the GeoScattering embedding.
      """
      graphs = [
          nx.newman_watts_strogatz_graph(50, 5, 0.3) for _ in range(10)
      ]
      new_graphs = [
          nx.newman_watts_strogatz_graph(50, 5, 0.3) for _ in range(10)
      ]
  
      for order in range(4, 20):
          for moment in range(4, 7):
              model = GeoScattering(order=order, moments=moment)
  
              model.fit(graphs)
              embedding = model.get_embedding()
  
              first_block = 3 * model.order
              second_block = 3 * (model.order + 1) * (model.moments - 1)
              third_block = (
                  3
                  * (model.order - 1)
                  * model.order
                  * (model.moments - 1)
                  / 2
              )
  
              feature_count = first_block + second_block + third_block
  
              assert embedding.shape[0] == len(graphs)
              assert embedding.shape[1] == feature_count
              assert type(embedding) == np.ndarray
  
              new_embedding = model.infer(new_graphs)
  
              assert new_embedding.shape[0] == len(new_graphs)
              assert new_embedding.shape[1] == feature_count
              assert type(new_embedding) == np.ndarray
  
file_path: karateclub/test/graph_embedding_test.py
imports: import numpy
  import networkx
  import pytest
  from karateclub.graph_embedding import Graph2Vec, FGSD, GL2Vec, SF, IGE, LDP
  from karateclub.graph_embedding import NetLSD, GeoScattering, FeatherGraph
label_desc: Use image node_id 8 for calling a global function with example usage: test_geoscattering() without return types