code: def test_ebc(
      self,
      data_type: DataType,
      quant_type: torch.dtype,
      output_type: torch.dtype,
      permute_order: bool,
      quant_state_dict_split_scale_bias: bool,
      per_table_weight_dtype: Dict[str, torch.dtype],
  ) -> None:
      eb1_config = EmbeddingBagConfig(
          name="t1",
          embedding_dim=16,
          num_embeddings=10,
          feature_names=["f1"],
          data_type=data_type,
      )
      eb2_config = EmbeddingBagConfig(
          name="t2",
          embedding_dim=16,
          num_embeddings=10,
          feature_names=["f2"],
          data_type=data_type,
      )
      features = (
          KeyedJaggedTensor(
              keys=["f1", "f2"],
              values=torch.as_tensor([0, 1]),
              lengths=torch.as_tensor([1, 1]),
          )
          if not permute_order
          else KeyedJaggedTensor(
              keys=["f2", "f1"],
              values=torch.as_tensor([1, 0]),
              lengths=torch.as_tensor([1, 1]),
          )
      )
      self._test_ebc(
          [eb1_config, eb2_config],
          features,
          quant_type,
          output_type,
          quant_state_dict_split_scale_bias,
      )
  
      self._test_ebc(
          [eb1_config, eb2_config],
          features,
          quant_type,
          output_type,
          quant_state_dict_split_scale_bias,
          per_table_weight_dtype,
      )
  
imports: import unittest
  from typing import Dict, List, Optional, Type
  import hypothesis.strategies
  import torch
  from hypothesis import given, settings, Verbosity
  from torchrec import inference
  from torchrec.modules.embedding_configs import DataType, EmbeddingBagConfig, EmbeddingConfig, QuantConfig
  from torchrec.modules.embedding_modules import EmbeddingBagCollection, EmbeddingCollection
  from torchrec.quant.embedding_modules import EmbeddingBagCollection, EmbeddingCollection, quant_prep_enable_quant_state_dict_split_scale_bias
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor, KeyedTensor
label_desc: Use image node_id 3 for calling the EmbeddingBagCollectionTest obj's underlying member method code with example usage: obj.test_ebc(data_type, quant_type, output_type, permute_order, quant_state_dict_split_scale_bias, per_table_weight_dtype) without return types