class_docstr: Tests PyTorch and Tensorflow model imports
docstr: Checks operator is a valid crypten module
docstr_tok: ["Checks","operator","is","a","valid","crypten","module"]
code: def test_get_operator_class(self):
      """Checks operator is a valid crypten module"""
      Node = collections.namedtuple("Node", "op_type")
  
      op_types = ["Sum", "AveragePool", "Mean"]
      for op_type in op_types:
          node = Node(op_type)
          operator = onnx_converter._get_operator_class(
              node.op_type, {}
          )
          self.assertTrue(
              issubclass(operator, crypten.nn.Module),
              f"{op_type} operator class {operator} is not a CrypTen module.",
          )
      # check conv
      kernel_shapes = [[1], [3, 3]]
      node = Node("Conv")
      for kernel_shape in kernel_shapes:
          attributes = {"kernel_shape": kernel_shape}
          operator = onnx_converter._get_operator_class(
              node.op_type, attributes
          )
  
      # check invalid op_types
      invalid_types = [
          ("Convolution", {"kernel_shape": [3, 3, 3]}),
          ("Banana", {}),
      ]
      for invalid_type, attr in invalid_types:
          with self.assertRaises(ValueError):
              node = Node(invalid_type)
              operator = onnx_converter._get_operator_class(
                  node.op_type, attr
              )
  
imports: import collections
  import io
  import logging
  import os
  import unittest
  import crypten
  import torch
  from crypten.common.tensor_types import is_float_tensor
  from crypten.config import cfg
  from crypten.nn import onnx_converter
  from test.multiprocess_test_case import get_random_test_tensor, MultiProcessTestCase, onehot
label_desc: Use image node_id 9 for calling the TestOnnxConverter obj's underlying member method code with example usage: obj.test_get_operator_class() without return types