code: def test_nonlist_cost(self, cost_manager):
      message = (
          "treatment_cost must be a list with the same number of "
          "elements as treatment_features where each element is "
          "either a constant cost of treatment or an array "
          "specifying the cost of treatment per sample. "
          "Found treatment_cost of type <class 'numpy.ndarray'>, "
          "expected list."
      )
      with pytest.raises(UserConfigValidationException, match=message):
          cost_manager.add(
              ["AveRooms", "Population", "AveOccup"],
              treatment_cost=np.array([1, 2]),
          )
  
imports: import os
  from unittest.mock import ANY, patch
  import numpy
  import pytest
  from raiutils.exceptions import UserConfigValidationException
  from raiutils.models import ModelTask
  from responsibleai import RAIInsights
  from responsibleai._interfaces import CausalData
  from responsibleai._internal.constants import FileFormats
  from responsibleai._tools.shared.state_directory_management import DirectoryManager
  from responsibleai.managers.causal_manager import CausalManager
label_desc: Use image node_id 3 for calling the TestCausalManagerTreatmentCosts obj's underlying member method code with example usage: obj.test_nonlist_cost(cost_manager) without return types