code: def test_construct_vol_no_covar_and_vector_vol(self):
      dtype = np.float64
      vol = np.array([0.94, 1.1, 0.42], dtype=dtype)
      np.random.seed(5321)
      dim = 3
      vol_matrix = np.diag(vol)
      covar_matrix = np.matmul(vol_matrix, vol_matrix.transpose())
  
      times = np.array([[0.12], [0.48]]).astype(dtype)
      actual_vol_fn, actual_tc_fn = bm_utils.construct_vol_data(
          tf.constant(vol), None, dim, dtype
      )
      actual_vols = self.evaluate(actual_vol_fn(times))
      np.testing.assert_array_equal(actual_vols.shape, [2, 1, dim, dim])
      for i in range(2):
          np.testing.assert_allclose(actual_vols[i, 0], np.diag(vol))
      actual_tc = self.evaluate(actual_tc_fn(times, times + 0.22))
      np.testing.assert_array_equal(actual_tc.shape, [2, 1, dim, dim])
      for i in range(2):
          np.testing.assert_allclose(
              actual_tc[i, 0], covar_matrix * 0.22
          )
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow.python.framework import test_util
  from tf_quant_finance.models.legacy import brownian_motion_utils
label_desc: Use image node_id 14 for calling the BrownianMotionUtilsTest obj's underlying member method code with example usage: obj.test_construct_vol_no_covar_and_vector_vol() without return types