docstr: This tests the construction of a 2-modality, 2-hidden state factor pandas MultiIndex dataframe using 
  the `model_labels` dictionary, which contains the modality- and factor-specific levels, labeled with string
  identifiers
docstr_tok: ["This","tests","the","construction","of","a","2-modality",",","2-hidden","state","factor","pandas","MultiIndex","dataframe","using","the","`","model_labels","`","dictionary",",","which","contains","the","modality-","and","factor-specific","levels",",","labeled","with","string","identifiers"]
code: def test_A_matrix_stub(self):
      """
      This tests the construction of a 2-modality, 2-hidden state factor pandas MultiIndex dataframe using
      the `model_labels` dictionary, which contains the modality- and factor-specific levels, labeled with string
      identifiers
      """
  
      model_labels = {
          "observations": {
              "grass_observation": ["wet", "dry"],
              "weather_observation": ["clear", "rainy", "cloudy"],
          },
          "states": {
              "weather_state": ["raining", "clear"],
              "sprinkler_state": ["on", "off"],
          },
      }
  
      num_hidden_state_factors = len(model_labels["states"])
  
      expected_A_matrix_stub = create_A_matrix_stub(model_labels)
  
      temporary_file_path = (tmp_path / "A_matrix_stub.xlsx").resolve()
      expected_A_matrix_stub.to_excel(temporary_file_path)
      actual_A_matrix_stub = read_A_matrix(
          temporary_file_path, num_hidden_state_factors
      )
  
      os.remove(temporary_file_path)
  
      frames_are_equal = (
          assert_frame_equal(
              expected_A_matrix_stub, actual_A_matrix_stub
          )
          is None
      )
      self.assertTrue(frames_are_equal)
  
file_path: pymdp/test/test_wrappers.py
imports: import os
  import unittest
  from pathlib import Path
  import shutil
  import tempfile
  import numpy
  import itertools
  import pandas
  from pandas.testing import assert_frame_equal
  from pymdp.utils import create_A_matrix_stub, read_A_matrix, create_B_matrix_stubs, read_B_matrices
label_desc: Use image node_id 1 for calling the TestWrappers obj's underlying member method code with example usage: obj.test_A_matrix_stub() without return types