code: def test_unary(self):
      computed_list = list()
      computed_list.append(
          tf_i128.from_i128(tf_i128.negate(self.A), self.scale)
      )
      computed_list.append(
          tf_i128.from_i128(tf_i128.negate(self.B), self.scale)
      )
      computed_list.append(
          tf_i128.from_i128(tf_i128.i128_abs(self.A), self.scale)
      )
      computed_list.append(
          tf_i128.from_i128(tf_i128.i128_abs(self.B), self.scale)
      )
      computed_list.append(tf_i128.equal(self.A, self.B))
      computed_list.append(tf_i128.equal(self.B, self.B))
      computed_list.append(
          tf_i128.equal(
              self.A,
              tf.constant(
                  tf_i128.encode(
                      np.array([self._A[0, 0]]) * self.scale
                  ),
                  dtype=tf.int64,
              ),
          )
      )
      computed_list.append(
          tf_i128.equal(
              self.B,
              tf.constant(
                  tf_i128.encode(
                      np.array([self._B[1, 1]]) * self.scale
                  ),
                  dtype=tf.int64,
              ),
          )
      )
      computed_list.append(
          tf_i128.equal(
              tf.constant(
                  tf_i128.encode(
                      np.array([self._A[1, 0]]) * self.scale
                  ),
                  dtype=tf.int64,
              ),
              self.A,
          )
      )
      computed_list.append(
          tf_i128.equal(
              tf.constant(
                  tf_i128.encode(
                      np.array([self._B[0, 1]]) * self.scale
                  ),
                  dtype=tf.int64,
              ),
              self.B,
          )
      )
  
      computed_list.append(
          tf_i128.equal(
              tf.constant(
                  tf_i128.encode(np.array([1.0]) * self.scale),
                  dtype=tf.int64,
              ),
              tf.constant(
                  tf_i128.encode(np.array([2.0]) * self.scale),
                  dtype=tf.int64,
              ),
          )
      )
  
      computed_list.append(
          tf_i128.equal(
              tf.constant(
                  tf_i128.encode(np.array([[1.0]]) * self.scale),
                  dtype=tf.int64,
              ),
              tf.constant(
                  tf_i128.encode(np.array([2.0]) * self.scale),
                  dtype=tf.int64,
              ),
          )
      )
  
      computed_list.append(
          tf_i128.equal(
              tf.constant(
                  tf_i128.encode(np.array([1.0]) * self.scale),
                  dtype=tf.int64,
              ),
              tf.constant(
                  tf_i128.encode(np.array([[1.0]]) * self.scale),
                  dtype=tf.int64,
              ),
          )
      )
  
      computed_list.append(
          tf_i128.equal(
              tf.constant(
                  tf_i128.encode(np.array([[1.0]]) * self.scale),
                  dtype=tf.int64,
              ),
              tf.constant(
                  tf_i128.encode(np.array([[2.0]]) * self.scale),
                  dtype=tf.int64,
              ),
          )
      )
  
      ground_list = list()
      ground_list.append(-self._A)
      ground_list.append(-self._B)
      ground_list.append(np.abs(self._A))
      ground_list.append(np.abs(self._B))
      ground_list.append(self._A == self._B)
      ground_list.append(self._B == self._B)
      ground_list.append(self._A == self._A[0, 0])
      ground_list.append(self._B == self._B[1, 1])
      ground_list.append(self._A == self._A[1, 0])
      ground_list.append(self._B == self._B[0, 1])
      ground_list.append(np.array([False]))
      ground_list.append(np.array([[False]]))
      ground_list.append(np.array([[True]]))
      ground_list.append(np.array([[False]]))
  
      for c, g in zip(computed_list, ground_list):
          self.assertTrue(np.allclose(c, g), "wrong unary")
          self.assertTrue(c.shape == g.shape, "wrong unary shape")
  
imports: import unittest
  import numpy
  import tensorflow
  from tf_encrypted.operations import tf_i128
label_desc: Use image node_id 3 for calling the I128TestCase obj's underlying member method code with example usage: obj.test_unary() without return types