class_docstr: The class encapsulates normalization information for each normalized type
docstr: Compare two NormalizedType instances and it is very helpful in unit test when use
  assert_equal
docstr_tok: ["Compare","two","NormalizedType","instances","and","it","is","very","helpful","in","unit","test","when","use","assert_equal"]
code: def __eq__(self, other):
      """Compare two NormalizedType instances and it is very helpful in unit test when use
      assert_equal
      """
      if not (
          self._log_type == other.log_type
          and self._log_source == other.log_source
          and self._normalized_type == other.normalized_type
      ):
          return False
  
      if len(self._parsed_params) != len(other.parsed_params):
          return False
  
      for idx in range(len(self._parsed_params)):
          if (
              self._parsed_params[idx][CONST_PATH]
              == other.parsed_params[idx][CONST_PATH]
          ):
              continue
  
          return False
  
      return True
  
imports: from collections import defaultdict
  import logging
  import itertools
  import uuid
  from streamalert.shared.config import TopLevelConfigKeys
  from streamalert.shared.exceptions import ConfigError
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 2 for calling the NormalizedType obj's underlying member method code with example usage: obj.__eq__(other) and returns: True, False, False, False