code: def test_extract_HBS_learning_curves(self):
      run_1 = Run("1", 10, 1, {}, {}, None)
      run_2 = Run("2", 6, 3, {}, {}, None)
      # the function should filter out invalid runs --> runs with no loss value
      run_3 = Run("3", 3, None, {}, {}, None)
      run_4 = Run("4", 1, 7, {}, {}, None)
  
      self.assertListEqual(
          extract_HBS_learning_curves([run_1, run_2, run_3, run_4]),
          [[(1, 7), (6, 3), (10, 1)]],
      )
  
file_path: HpBandSter/tests/test_result.py
imports: import unittest
  from hpbandster.core.result import Run, extract_HBS_learning_curves, json_result_logger, logged_results_to_HBS_result
  from hpbandster.core.base_iteration import Datum
  import ConfigSpace
  import tempfile
  import sys
  import os.path
label_desc: Use image node_id 1 for calling the TestExtraction obj's underlying member method code with example usage: obj.test_extract_HBS_learning_curves() without return types