code: def test_curve_model(self):
      test_model = CurveModel(21)
      test_model.effective_model = [
          "vap",
          "pow3",
          "linear",
          "logx_linear",
          "dr_hill_zero_background",
          "log_power",
          "pow4",
          "mmf",
          "exp4",
          "ilog2",
          "weibull",
          "janoschek",
      ]
      test_model.effective_model_num = 12
      test_model.point_num = 9
      test_model.target_pos = 20
      test_model.trial_history = [1, 1, 1, 1, 1, 1, 1, 1, 1]
      test_model.weight_samples = (
          np.ones((test_model.effective_model_num), dtype=float)
          / test_model.effective_model_num
      )
      self.assertAlmostEqual(
          test_model.predict_y("vap", 9), 0.5591906328335763
      )
      self.assertAlmostEqual(
          test_model.predict_y("logx_linear", 15), 1.0704360293379522
      )
      self.assertAlmostEqual(
          test_model.f_comb(9, test_model.weight_samples),
          1.1543379521172443,
      )
      self.assertAlmostEqual(
          test_model.f_comb(15, test_model.weight_samples),
          1.6949395581692737,
      )
  
file_path: nni/test/ut/sdk/test_curvefitting_assessor.py
imports: import numpy
  import unittest
  from nni.algorithms.hpo.curvefitting_assessor import CurvefittingAssessor
  from nni.algorithms.hpo.curvefitting_assessor.model_factory import CurveModel
  from nni.assessor import AssessResult
label_desc: Use image node_id 4 for calling the TestCurveFittingAssessor obj's underlying member method code with example usage: obj.test_curve_model() without return types