code: def test_expanded_cols_recovery(self, dist_type, X):
      np.random.seed(42)
      X_orig = X
      dist_types = [dist_type(idx=idx) for idx in np.arange(X.shape[1])]
      for dt in dist_types:
          X = dt.preprocess_X(X)
  
      # check that original X can be recovered from expanded cols
      for dt in dist_types:
          X_recovered = np.argmax(X[:, dt.idx_group], axis=1)
          assert (X_recovered == X_orig[:, dt.idx]).sum() == X.shape[0]
  
imports: import copy
  import numpy
  import pandas
  import pytest
  import torch
  from causalnex.structure.pytorch.dist_type import DistTypeBinary, DistTypeCategorical, DistTypeContinuous, DistTypeOrdinal, DistTypePoisson
  from causalnex.structure.pytorch.notears import from_numpy, from_pandas
label_desc: Use image node_id 6 for calling the TestDistTypeClasses obj's underlying member method code with example usage: obj.test_expanded_cols_recovery(dist_type, X) without return types