code: def test_build_custom_arch(
      self,
      model_configs,
      custom_encoder,
      custom_decoder,
      custom_discriminator,
  ):
      adversarial_ae = Adversarial_AE(
          model_configs, encoder=custom_encoder, decoder=custom_decoder
      )
  
      assert adversarial_ae.encoder == custom_encoder
      assert not adversarial_ae.model_config.uses_default_encoder
  
      assert adversarial_ae.decoder == custom_decoder
      assert not adversarial_ae.model_config.uses_default_encoder
  
      assert adversarial_ae.model_config.uses_default_discriminator
  
      adversarial_ae = Adversarial_AE(
          model_configs, discriminator=custom_discriminator
      )
  
      assert adversarial_ae.model_config.uses_default_encoder
      assert adversarial_ae.model_config.uses_default_encoder
  
      assert adversarial_ae.discriminator == custom_discriminator
      assert not adversarial_ae.model_config.uses_default_discriminator
  
imports: import os
  from copy import deepcopy
  import numpy
  import pytest
  import torch
  from pythae.customexception import BadInheritanceError
  from pythae.models import Adversarial_AE, Adversarial_AE_Config, AutoModel
  from pythae.models.base.base_utils import ModelOutput
  from pythae.pipelines import GenerationPipeline, TrainingPipeline
  from pythae.samplers import GaussianMixtureSamplerConfig, IAFSamplerConfig, MAFSamplerConfig, NormalSamplerConfig, TwoStageVAESamplerConfig
  from pythae.trainers import AdversarialTrainer, AdversarialTrainerConfig, BaseTrainerConfig
  from tests.data.custom_architectures import Decoder_AE_Conv, Discriminator_MLP_Custom, Encoder_VAE_Conv, NetBadInheritance
label_desc: Use image node_id 5 for calling the Test_Model_Building obj's underlying member method code with example usage: obj.test_build_custom_arch(model_configs, custom_encoder, custom_decoder, custom_discriminator) without return types