code: def _test_fit_params(d, means, covs):
      assert_array_almost_equal(d.means, means)
      assert_array_almost_equal(d.covs, covs)
  
      assert_array_almost_equal(d._w_sum, numpy.zeros(d.d))
      assert_array_almost_equal(d._xw_sum, numpy.zeros(d.d))
      assert_array_almost_equal(d._xxw_sum, numpy.zeros(d.d))
  
      assert_raises(AttributeError, getattr, d, "_inv_cov")
      assert_raises(AttributeError, getattr, d, "_inv_cov_dot_mu")
      assert_raises(AttributeError, getattr, d, "_log_det")
  
      assert_array_almost_equal(
          d._log_sigma_sqrt_2pi,
          -numpy.log(numpy.sqrt(covs) * SQRT_2_PI),
          4,
      )
      assert_array_almost_equal(
          d._inv_two_sigma,
          1.0 / (2 * numpy.array(covs, dtype=numpy.float32)),
          4,
      )
  
imports: import os
  import numpy
  import torch
  import pytest
  from pomegranate.distributions import StudentT
  from ._utils import _test_initialization_raises_two_parameters
  from ._utils import _test_initialization
  from ._utils import _test_predictions
  from ._utils import _test_efd_from_summaries
  from ._utils import _test_raises
  from nose.tools import assert_raises
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 25 for calling a global function with example usage: _test_fit_params(d, means, covs) without return types