code: def test_viterbi(self):
      correct_state_seq = np.array(
          [
              0,
              0,
              0,
              0,
              0,
              1,
              1,
              2,
              2,
              2,
              2,
              2,
              2,
              2,
              1,
              1,
              1,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
          ]
      )
      correct_log_p = -35.2104311327
      state_seq, log_p = self.hmm.viterbi(OBS_SEQ)
      self.assertTrue((state_seq == correct_state_seq).all())
      self.assertAlmostEqual(log_p, correct_log_p)
  
imports: from __future__ import absolute_import, division, print_function
  import sys
  import unittest
  from madmom.ml.hmm import *
label_desc: Use image node_id 2 for calling the TestHiddenMarkovModelClass obj's underlying member method code with example usage: obj.test_viterbi() without return types