code: def test_that_feature_extractor_is_not_trainable_outside_of_combined(
      self,
  ):
      mockd_trainer = copy(self.trainer)
      y = np.random.random(
          (
              1,
              self.setup["patch_size"] * 2,
              self.setup["patch_size"] * 2,
              3,
          )
      )
      f_ext_out_shape = list(
          mockd_trainer.feature_extractor.model.outputs[0].shape[1:4]
      )
      f_ext_out_shape1 = list(
          mockd_trainer.feature_extractor.model.outputs[1].shape[1:4]
      )
      feats = [
          np.random.random([1] + f_ext_out_shape),
          np.random.random([1] + f_ext_out_shape1),
      ]
      # should not have optimizer
      try:
          mockd_trainer.feature_extractor.model.train_on_batch(
              y, [*feats]
          )
      except:
          self.assertTrue(True)
      else:
          self.assertTrue(False)
  
imports: import logging
  import os
  import shutil
  import unittest
  from copy import copy
  from pathlib import Path
  import yaml
  import numpy
  from unittest.mock import patch, Mock
  from ISR.models.cut_vgg19 import Cut_VGG19
  from ISR.models.discriminator import Discriminator
  from ISR.models.rrdn import RRDN
  from ISR.train.trainer import Trainer
label_desc: Use image node_id 10 for calling the TrainerClassTest obj's underlying member method code with example usage: obj.test_that_feature_extractor_is_not_trainable_outside_of_combined() without return types