class_docstr: CaseEvaluationResults stores aggregated statistics for one EvaluationCase and one metric.
class_docstr_tok: ["CaseEvaluationResults","stores","aggregated","statistics","for","one","EvaluationCase","and","one","metric","."]
code: def _add(self, model, learning_curve):
      if model.get_case() != self._case:
          raise CatBoostError(
              "Model case should be equal to result case"
          )
  
      fold_id = model.get_fold_id()
  
      self._fold_curves[fold_id] = learning_curve
      score = (
          max(learning_curve)
          if self._metric_description.is_max_optimal()
          else min(learning_curve)
      )
      position = (
          np.argmax(learning_curve)
          if self._metric_description.is_max_optimal()
          else np.argmin(learning_curve)
      )
  
      self._fold_metric.at[fold_id] = score
      self._fold_metric_iteration.at[fold_id] = position
  
imports: import numpy
  import pandas
  from enum import Enum
  from ..None import CatBoostError
  from ..core import metric_description_or_str_to_str
  from ..utils import compute_wx_test
label_desc: Use image node_id 2 for calling the CaseEvaluationResult obj's underlying member method code with example usage: obj._add(model, learning_curve) without return types