code: def test_PPNP_edge_cases():
      G, features = create_graph_features()
      adj = G.to_adjacency_matrix()
      features, adj = PPNP_Aadj_feats_op(features, adj)
  
      ppnp_sparse_failed = False
      try:
          generator = FullBatchNodeGenerator(
              G, sparse=True, method="ppnp"
          )
      except ValueError as e:
          ppnp_sparse_failed = True
      assert ppnp_sparse_failed
  
      generator = FullBatchNodeGenerator(G, sparse=False, method="ppnp")
  
      try:
          ppnpModel = PPNP(
              [2, 2],
              generator=generator,
              activations=["relu"],
              dropout=0.5,
          )
      except ValueError as e:
          error = e
      assert (
          str(error)
          == "The number of layers should equal the number of activations"
      )
  
      try:
          ppnpModel = PPNP(
              [2], generator=[0, 1], activations=["relu"], dropout=0.5
          )
      except TypeError as e:
          error = e
      assert (
          str(error)
          == "Generator should be a instance of FullBatchNodeGenerator"
      )
  
file_path: stellargraph/tests/layer/test_ppnp.py
imports: from stellargraph.layer import PPNP
  from stellargraph.mapper import FullBatchNodeGenerator, FullBatchLinkGenerator
  from stellargraph import StellarGraph
  from stellargraph.core.utils import PPNP_Aadj_feats_op
  import networkx
  import pandas
  import numpy
  from tensorflow import keras
  import pytest
  from ..test_utils.graphs import create_graph_features
  from ..None import test_utils
label_desc: Use image node_id 1 for calling a global function with example usage: test_PPNP_edge_cases() without return types