code: def test_untrained_models(self):
      model = NaiveDrift()
      _ = NaiveEnsembleModel([model])
  
      # trained local models should raise error
      model.fit(self.series1)
      with pytest.raises(ValueError):
          NaiveEnsembleModel([model])
  
      # an untrained ensemble model should also give untrained underlying models
      model_ens = NaiveEnsembleModel([NaiveDrift()])
      model_ens.fit(self.series1)
      assert model_ens.forecasting_models[0]._fit_called
      new_model = model_ens.untrained_model()
      assert not new_model.forecasting_models[0]._fit_called
  
imports: import numpy
  import pandas
  import pytest
  from darts import TimeSeries
  from darts.logging import get_logger
  from darts.models import ExponentialSmoothing, LinearRegressionModel, NaiveDrift, NaiveEnsembleModel, NaiveSeasonal, StatsForecastAutoARIMA, Theta
  from darts.tests.conftest import tfm_kwargs
  from darts.utils import timeseries_generation
label_desc: Use image node_id 1 for calling the TestEnsembleModels obj's underlying member method code with example usage: obj.test_untrained_models() without return types