code: def templateLengthProcessData(
      self, file, som_map_size, radius, eps, expected_cluster_length
  ):
      result_testing = False
  
      # If phases crosses each other because of random part of the network then we should try again.
      for _ in range(0, 5, 1):
          sample = read_sample(file)
          network = syncsom(
              sample, som_map_size[0], som_map_size[1], radius
          )
          network.process(collect_dynamic=False, order=eps)
  
          clusters = network.get_clusters()
  
          obtained_cluster_sizes = [
              len(cluster) for cluster in clusters
          ]
          if len(sample) != sum(obtained_cluster_sizes):
              continue
  
          obtained_cluster_sizes.sort()
          expected_cluster_length.sort()
          # print(obtained_cluster_sizes, expected_cluster_length);
          if obtained_cluster_sizes != expected_cluster_length:
              continue
  
          # Unit-test is passed
          result_testing = True
          break
  
      assert result_testing
  
imports: import unittest
  import matplotlib
  from pyclustering.cluster.syncsom import syncsom
  from pyclustering.utils import read_sample
  from pyclustering.samples.definitions import SIMPLE_SAMPLES
label_desc: Use image node_id 6 for calling the SyncsomUnitTest obj's underlying member method code with example usage: obj.templateLengthProcessData(file, som_map_size, radius, eps, expected_cluster_length) without return types