code: def test_operate_error(self):
      self.assertRaises(TypeError, self.phi1._operate, 1, "product")
      self.assertRaises(TypeError, self.phi1._operate, 1, "divide")
      self.assertRaises(TypeError, self.phi1._operate, "1", "product")
      self.assertRaises(TypeError, self.phi1._operate, "1", "divide")
      self.assertRaises(
          TypeError, self.phi1._operate, self.phi2._pdf, "product"
      )
      self.assertRaises(
          TypeError, self.phi1._operate, self.phi2._pdf, "divide"
      )
      self.assertRaises(TypeError, self.phi1._operate, [1], "product")
      self.assertRaises(TypeError, self.phi1._operate, [1], "divide")
  
      self.assertRaises(TypeError, self.phi4._operate, 1, "product")
      self.assertRaises(TypeError, self.phi4._operate, 1, "divide")
      self.assertRaises(TypeError, self.phi4._operate, "1", "product")
      self.assertRaises(TypeError, self.phi4._operate, "1", "divide")
      self.assertRaises(
          TypeError, self.phi4._operate, self.phi2._pdf, "product"
      )
      self.assertRaises(
          TypeError, self.phi4._operate, self.phi2._pdf, "divide"
      )
      self.assertRaises(TypeError, self.phi4._operate, [1], "product")
      self.assertRaises(TypeError, self.phi4._operate, [1], "divide")
  
      self.assertRaises(
          TypeError, self.phi1._operate, 1, "product", False
      )
      self.assertRaises(
          TypeError, self.phi1._operate, 1, "divide", False
      )
      self.assertRaises(
          TypeError, self.phi1._operate, "1", "product", False
      )
      self.assertRaises(
          TypeError, self.phi1._operate, "1", "divide", False
      )
      self.assertRaises(
          TypeError,
          self.phi1._operate,
          self.phi2._pdf,
          "product",
          False,
      )
      self.assertRaises(
          TypeError, self.phi1._operate, self.phi2._pdf, "divide", False
      )
      self.assertRaises(
          TypeError, self.phi1._operate, [1], "product", False
      )
      self.assertRaises(
          TypeError, self.phi1._operate, [1], "divide", False
      )
  
      self.assertRaises(
          TypeError, self.phi4._operate, 1, "product", False
      )
      self.assertRaises(
          TypeError, self.phi4._operate, 1, "divide", False
      )
      self.assertRaises(
          TypeError, self.phi4._operate, "1", "product", False
      )
      self.assertRaises(
          TypeError, self.phi4._operate, "1", "divide", False
      )
      self.assertRaises(
          TypeError,
          self.phi4._operate,
          self.phi2._pdf,
          "product",
          False,
      )
      self.assertRaises(
          TypeError, self.phi4._operate, self.phi2._pdf, "divide", False
      )
      self.assertRaises(
          TypeError, self.phi4._operate, [1], "product", False
      )
      self.assertRaises(
          TypeError, self.phi4._operate, [1], "divide", False
      )
  
      self.assertRaises(ValueError, self.phi1.__truediv__, self.phi2)
      self.assertRaises(ValueError, self.phi1.__truediv__, self.phi3)
      self.assertRaises(ValueError, self.phi1.__truediv__, self.phi4)
      self.assertRaises(ValueError, self.phi2.__truediv__, self.phi3)
      self.assertRaises(ValueError, self.phi2.__truediv__, self.phi4)
  
imports: import unittest
  import numpy
  import numpy.testing
  from scipy.special import beta
  from scipy.stats import multivariate_normal
  from pgmpy.factors.distributions import CustomDistribution
label_desc: Use image node_id 14 for calling the TestCustomDistributionMethods obj's underlying member method code with example usage: obj.test_operate_error() without return types