code: def testJohnsonSUStandardDeviation(self):
      skewness = [1.0]
      tailweight = [2.0]
      # sigma will be broadcast to [7, 7, 7]
      mu = [1.0, 2.0, 3.0]
      sigma = [7.0]
  
      dist = johnson_su.JohnsonSU(
          skewness=skewness,
          tailweight=tailweight,
          loc=mu,
          scale=sigma,
          validate_args=True,
      )
  
      self.assertAllEqual((3,), dist.stddev().shape)
      expected_d = sp_stats.johnsonsu.std(
          skewness[0], tailweight[0], mu[0], sigma[0]
      )
      self.assertAllClose(
          [expected_d] * 3, self.evaluate(dist.stddev())
      )
  
imports: import math
  import numpy
  from scipy import stats
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import johnson_su
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 20 for calling the JohnsonSUTest obj's underlying member method code with example usage: obj.testJohnsonSUStandardDeviation() without return types