code: def test_add_adapter_fusion(self):
      config_name = "seq_bn"
      adapter_config = AdapterConfig.load(config_name)
  
      for (
          adater_fusion_config_name,
          adapter_fusion_config,
      ) in ADAPTERFUSION_CONFIG_MAP.items():
          model = self.get_model()
          model.eval()
  
          with self.subTest(
              model_class=model.__class__.__name__, config=config_name
          ):
              name1 = f"{config_name}-1"
              name2 = f"{config_name}-2"
              model.add_adapter(name1, config=config_name)
              model.add_adapter(name2, config=config_name)
  
              # adapter is correctly added to config
              self.assertTrue(name1 in model.adapters_config)
              self.assertTrue(name2 in model.adapters_config)
              self.assertEqual(
                  asdict(adapter_config),
                  asdict(model.adapters_config.get(name1)),
              )
              self.assertEqual(
                  asdict(adapter_config),
                  asdict(model.adapters_config.get(name2)),
              )
  
              model.add_adapter_fusion(
                  [name1, name2], adater_fusion_config_name
              )
  
              # check forward pass
              input_data = self.get_input_samples(config=model.config)
              model.set_active_adapters([[name1, name2]])
              model.to(torch_device)
              adapter_output = model(**input_data)
              model.set_active_adapters(None)
              base_output = model(**input_data)
              self.assertEqual(len(adapter_output), len(base_output))
              self.assertFalse(
                  torch.equal(adapter_output[0], base_output[0])
              )
  
file_path: adapters/tests/test_adapter_fusion_common.py
imports: import copy
  import os
  import tempfile
  from dataclasses import asdict
  import torch
  from adapters import ADAPTER_MODEL_MAPPING, ADAPTERFUSION_CONFIG_MAP, AdapterConfig, AutoAdapterModel, SeqBnConfig
  from adapters.composition import Fuse
  from adapters.utils import ADAPTERFUSION_WEIGHTS_NAME
  from adapters.wrappers import load_model
  from transformers.testing_utils import require_torch, torch_device
label_desc: Use image node_id 1 for calling the AdapterFusionModelTestMixin obj's underlying member method code with example usage: obj.test_add_adapter_fusion() without return types