class_docstr: Unit testing for MolGAN basic layers
class_docstr_tok: ["Unit","testing","for","MolGAN","basic","layers"]
docstr: Check if input and output shapes are correct
docstr_tok: ["Check","if","input","and","output","shapes","are","correct"]
code: def test_shapes(self):
      """
      Check if input and output shapes are correct
      """
      model = self.model
  
      # test if adjacency matrix input is correctly set
      assert model.discriminators[0].input_shape[0] == (
          None,
          self.vertices,
          self.vertices,
          self.edges,
      )
      # test if nodes features matrix input is correctly set
      assert model.discriminators[0].input_shape[1] == (
          None,
          self.vertices,
          self.edges,
      )
      # check discriminator shape
      assert model.discriminators[0].output_shape == (None, 1)
      # check training edges logits shape
      assert model.generators[0].output_shape[0] == (
          None,
          self.vertices,
          self.vertices,
          self.edges,
      )
      # check training nodes logits shapes
      assert model.generators[0].output_shape[1] == (
          None,
          self.vertices,
          self.nodes,
      )
  
file_path: deepchem/deepchem/models/tests/test_molgan_model.py
imports: import os
  import unittest
  import pytest
  import pandas
  from deepchem.data import NumpyDataset
  from deepchem.feat.molecule_featurizers import MolGanFeaturizer
  from deepchem.models.optimizers import ExponentialDecay
label_desc: Use image node_id 3 for calling the test_molgan_model obj's underlying member method code with example usage: obj.test_shapes() without return types