code: def test_stump_nan_inf_A_B_join(
      T_A, T_B, substitute_A, substitute_B, substitution_locations
  ):
      m = 3
  
      T_A_sub = T_A.copy()
      T_B_sub = T_B.copy()
  
      for substitution_location_B in substitution_locations:
          for substitution_location_A in substitution_locations:
              T_A_sub[:] = T_A[:]
              T_B_sub[:] = T_B[:]
              T_A_sub[substitution_location_A] = substitute_A
              T_B_sub[substitution_location_B] = substitute_B
  
              ref_mp = naive.stump(
                  T_A_sub, m, T_B=T_B_sub, row_wise=True
              )
              comp_mp = stump(T_A_sub, m, T_B_sub, ignore_trivial=False)
              naive.replace_inf(ref_mp)
              naive.replace_inf(comp_mp)
              npt.assert_almost_equal(ref_mp, comp_mp)
  
              comp_mp = stump(
                  pd.Series(T_A_sub),
                  m,
                  pd.Series(T_B_sub),
                  ignore_trivial=False,
              )
              naive.replace_inf(comp_mp)
              npt.assert_almost_equal(ref_mp, comp_mp)
  
imports: import functools
  import naive
  import numpy
  import numpy.testing
  import pandas
  import pytest
  from stumpy import config, stump
label_desc: Use image node_id 10 for calling a global function with example usage: test_stump_nan_inf_A_B_join(T_A, T_B, substitute_A, substitute_B, substitution_locations) without return types