code: def test_summary_with_module_dict_model():
      model = ModuleDictModel()
      x = torch.randn(100, 32)
  
      expected = """
  +-------------------------+---------------+----------------+----------+
  | Layer                   | Input Shape   | Output Shape   | #Param   |
  |-------------------------+---------------+----------------+----------|
  | ModuleDictModel         | [100, 32]     | [100, 32]      | 1        |
  | ├─(acts)ModuleDict      | --            | --             | 1        |
  | │    └─(lrelu)LeakyReLU | --            | --             | --       |
  | │    └─(prelu)PReLU     | [100, 32]     | [100, 32]      | 1        |
  +-------------------------+---------------+----------------+----------+
  """
      assert summary(model, x, "prelu") == expected[1:-1]
  
imports: from typing import Optional
  import pytest
  import torch
  from torch import Tensor, nn
  import torch_geometric.typing
  from torch_geometric.nn import Linear, SAGEConv, summary, to_hetero
  from torch_geometric.nn.models import GCN
  from torch_geometric.testing import withPackage
  from torch_geometric.typing import SparseTensor
label_desc: Use image node_id 9 for calling a global function with example usage: test_summary_with_module_dict_model() without return types