code: def expected_shape(cls, params, init_case):
      wvs = init_case["word_vec_size"]
      fvs = init_case["feat_vec_size"]
      nf = len(init_case["feat_vocab_sizes"])
      size = wvs
      if init_case["feat_merge"] not in {"sum", "mlp"}:
          size += nf * fvs
      return params["batch_size"], params["max_seq_len"], size
  
file_path: OpenNMT-py/onmt/tests/test_embeddings.py
imports: import unittest
  from onmt.modules.embeddings import Embeddings
  import itertools
  from copy import deepcopy
  import torch
  from torch.nn.init import xavier_uniform_
  from onmt.tests.utils_for_tests import product_dict
label_desc: Use image node_id 4 for calling the TestEmbeddings obj's underlying member method code with example usage: obj.expected_shape(cls, params, init_case) and returns: params,  params,  size