code: def test_validate_args(self):
      for d in self.distributions:
          error_msg = ".*is only well-defined for positive definite.*"
          with self.assertRaisesRegex(ValueError, error_msg):
              gauss = deepcopy(d.gauss)
              gauss.covariance_matrix *= -1
              UnifiedSkewNormal(
                  d.trunc, gauss, d.cross_covariance_matrix
              )
  
          error_msg = ".*-dimensional `trunc` incompatible with.*-dimensional `gauss"
          with self.assertRaisesRegex(ValueError, error_msg):
              gauss = deepcopy(d.gauss)
              gauss._event_shape = (*gauss._event_shape, 1)
              UnifiedSkewNormal(
                  d.trunc, gauss, d.cross_covariance_matrix
              )
  
          error_msg = "Incompatible batch shapes"
          with self.assertRaisesRegex(ValueError, error_msg):
              gauss = deepcopy(d.gauss)
              trunc = deepcopy(d.trunc)
              gauss._batch_shape = (*gauss._batch_shape, 2)
              trunc._batch_shape = (*trunc._batch_shape, 3)
              UnifiedSkewNormal(trunc, gauss, d.cross_covariance_matrix)
  
imports: from __future__ import annotations
  from copy import deepcopy
  from itertools import count
  from typing import Any, Dict, Optional, Sequence, Tuple
  import torch
  from botorch.utils.probability.mvnxpb import MVNXPB
  from botorch.utils.probability.truncated_multivariate_normal import TruncatedMultivariateNormal
  from botorch.utils.probability.unified_skew_normal import UnifiedSkewNormal
  from botorch.utils.testing import BotorchTestCase
  from linear_operator.operators import DenseLinearOperator
  from torch import Tensor
  from torch.distributions import MultivariateNormal
  from torch.special import ndtri
label_desc: Use image node_id 7 for calling the TestUnifiedSkewNormal obj's underlying member method code with example usage: obj.test_validate_args() without return types