class_docstr: This class tests all functions of the ArithmeticSharedTensor.
code: def test_squeeze(self) -> None:
      tensor = get_random_test_tensor(is_float=True)
  
      for dim in [0, 1, 2]:
          # Test unsqueeze
          reference = tensor.unsqueeze(dim)
  
          encrypted = ArithmeticSharedTensor(tensor)
          encrypted_out = encrypted.unsqueeze(dim)
          self._check(encrypted_out, reference, "unsqueeze failed")
  
          # Test squeeze
          encrypted = ArithmeticSharedTensor(tensor.unsqueeze(0))
          encrypted_out = encrypted.squeeze()
          self._check(
              encrypted_out, reference.squeeze(), "squeeze failed"
          )
  
          # Check that the encrypted_out and encrypted point to the same
          # thing.
          encrypted_out[0:2] = torch.tensor(
              [0.0, 1.0], dtype=torch.float
          )
          ref = encrypted.squeeze().get_plain_text()
          self._check(encrypted_out, ref, "squeeze failed")
  
imports: import itertools
  import logging
  import unittest
  import crypten
  import crypten.communicator
  import torch
  import torch.nn.functional
  from crypten.common.rng import generate_random_ring_element
  from crypten.common.tensor_types import is_float_tensor
  from crypten.common.util import count_wraps
  from crypten.mpc.primitives import ArithmeticSharedTensor
  from test.multiprocess_test_case import get_random_test_tensor, MultiProcessTestCase
label_desc: Use image node_id 14 for calling the TestArithmetic obj's underlying member method code with example usage: obj.test_squeeze() without return types