class_docstr: Test class for custom learner tests.
class_docstr_tok: ["Test","class","for","custom","learner","tests","."]
docstr: Clean up after tests.
docstr_tok: ["Clean","up","after","tests","."]
code: def tearDownClass(cls):
      """Clean up after tests."""
      input_files = [
          "test_logistic_custom_learner.jsonlines",
          "test_majority_class_custom_learner.jsonlines",
          "test_model_custom_learner.jsonlines",
      ]
      for inf in input_files:
          for dir_path in [train_dir, test_dir]:
              unlink(dir_path / inf)
  
      for cfg_file in config_dir.glob("*custom_learner.cfg"):
          unlink(cfg_file)
  
      for output_file in chain(
          output_dir.glob("test_logistic_custom_learner*"),
          output_dir.glob("test_majority_class_custom_learner*"),
          output_dir.glob("test_model_custom_learner*"),
      ):
          unlink(output_file)
  
file_path: skll/tests/test_custom_learner.py
imports: import csv
  import unittest
  from itertools import chain
  import numpy
  from numpy.testing import assert_array_equal
  from skll.data import NDJWriter
  from skll.experiments import run_configuration
  from skll.learner import Learner
  from skll.utils.testing import config_dir, fill_in_config_paths, make_classification_data, other_dir, output_dir, test_dir, train_dir, unlink
label_desc: Use image node_id 2 for calling the TestCustomLearner obj's underlying member method code with example usage: obj.tearDownClass(cls) without return types