code: def test_graph_convolution_layer():
      from deepchem.models.torch_models.layers import (
          MolGANConvolutionLayer,
      )
  
      vertices = 9
      nodes = 5
      edges = 5
      units = 128
  
      layer = MolGANConvolutionLayer(
          units=units, edges=edges, nodes=nodes
      )
      adjacency_tensor = torch.randn((1, vertices, vertices, edges))
      node_tensor = torch.randn((1, vertices, nodes))
      output = layer([adjacency_tensor, node_tensor])
      output_tf = [
          (1, 9, 9, 5),
          (1, 9, 5),
          (1, 9, 128),
      ]  # None has been converted to 1 as batch size is taken as 1 in torch
  
      # Testing Shapes
      assert output[0].shape == output_tf[0]  # adjacency_tensor
      assert output[1].shape == output_tf[1]  # node_tensor
      assert output[2].shape == output_tf[2]  # output of the layer
  
      assert output[0].shape == torch.Size(
          [1, vertices, vertices, edges]
      )  # adjacency_tensor
      assert output[1].shape == torch.Size(
          [1, vertices, nodes]
      )  # node_tensor
      assert output[2].shape == torch.Size(
          [1, vertices, units]
      )  # output of the layer
  
      # Testing values
      assert layer.units == units
      assert layer.activation == torch.tanh
      assert layer.edges == 5
      assert layer.dropout_rate == 0.0
  
file_path: deepchem/deepchem/models/torch_models/tests/test_molgan_layers.py
imports: import pytest
label_desc: Use image node_id 1 for calling a global function with example usage: test_graph_convolution_layer() without return types