code: def test_extract_features(self):
      # todo: implement more methods and test more aspects
      df = self.create_test_data_sample()
      extracted_features = extract_features(
          df,
          column_id="id",
          column_sort="sort",
          column_kind="kind",
          column_value="val",
          n_jobs=self.n_jobs,
      )
  
      self.assertIsInstance(extracted_features, pd.DataFrame)
      self.assertTrue(
          np.all(extracted_features.a__maximum == np.array([71, 77]))
      )
      self.assertTrue(
          np.all(
              extracted_features.a__sum_values == np.array([691, 1017])
          )
      )
      self.assertTrue(
          np.all(
              extracted_features.a__abs_energy
              == np.array([32211, 63167])
          )
      )
      self.assertTrue(
          np.all(
              extracted_features.b__sum_values == np.array([757, 695])
          )
      )
      self.assertTrue(
          np.all(extracted_features.b__minimum == np.array([3, 1]))
      )
      self.assertTrue(
          np.all(
              extracted_features.b__abs_energy
              == np.array([36619, 35483])
          )
      )
      self.assertTrue(
          np.all(extracted_features.b__mean == np.array([37.85, 34.75]))
      )
      self.assertTrue(
          np.all(extracted_features.b__median == np.array([39.5, 28.0]))
      )
  
imports: import os
  import tempfile
  import numpy
  import pandas
  from mock import Mock
  from tests.fixtures import DataTestCase
  from tsfresh.feature_extraction.extraction import extract_features
  from tsfresh.feature_extraction.settings import ComprehensiveFCParameters, PickableSettings
  from tsfresh.utilities.distribution import IterableDistributorBaseClass, MapDistributor
label_desc: Use image node_id 2 for calling the ParallelExtractionTestCase obj's underlying member method code with example usage: obj.test_extract_features() without return types