code: def test_basic(self):
      # checks basic results againt R MASS package
      n_cat = ds.n_ordinal_cat
      res1 = self.res1
      res2 = self.res2
      # coefficients values, standard errors, t & p values
      assert_allclose(
          res1.params[: -n_cat + 1], res2.coefficients_val, atol=2e-4
      )
      assert_allclose(
          res1.bse[: -n_cat + 1],
          res2.coefficients_stdE,
          rtol=0.003,
          atol=1e-5,
      )
      assert_allclose(
          res1.tvalues[: -n_cat + 1],
          res2.coefficients_tval,
          rtol=0.003,
          atol=7e-4,
      )
      assert_allclose(
          res1.pvalues[: -n_cat + 1],
          res2.coefficients_pval,
          rtol=0.009,
          atol=1e-5,
      )
      # thresholds are given with exponentiated increments
      # from the first threshold
      assert_allclose(
          res1.model.transform_threshold_params(res1.params)[1:-1],
          res2.thresholds,
          atol=4e-4,
      )
  
      # probabilities
      assert_allclose(res1.predict()[:7, :], res2.prob_pred, atol=5e-5)
  
imports: import warnings
  import numpy
  from numpy.testing import assert_allclose, assert_equal
  import pandas
  import pytest
  import scipy.stats
  from statsmodels.discrete.discrete_model import Logit
  from statsmodels.miscmodels.ordinal_model import OrderedModel
  from statsmodels.tools.sm_exceptions import HessianInversionWarning
  from statsmodels.tools.tools import add_constant
  from .results.results_ordinal_model import data_store
label_desc: Use image node_id 1 for calling the CheckOrdinalModelMixin obj's underlying member method code with example usage: obj.test_basic() without return types