code: def test_typable_mixin_can_hold_type_annotation(tmpdir):
      # Testing the type annotation "MetaStep[MyService]":
      wrapped_service: MetaStep[Identity] = MetaStep(Identity())
  
      g: Generic = wrapped_service.__orig_bases__[-1]
      assert isinstance(
          wrapped_service.get_step(), g.__parameters__[0].__bound__
      )
      bt: TypeVar = typing.get_args(g)[0]
      assert isinstance(wrapped_service.get_step(), bt.__bound__)
  
      assert isinstance(wrapped_service.get_step(), Identity)
      assert isinstance(wrapped_service.get_step(), NonFittableMixin)
      assert isinstance(wrapped_service.get_step(), BaseService)
  
file_path: Neuraxle/testing_neuraxle/test_metastep_mixin.py
imports: import sys
  import typing
  from typing import Generic, TypeVar
  import pytest
  from neuraxle.base import BaseService, MetaStep, NonFittableMixin
  from neuraxle.pipeline import Pipeline
  from neuraxle.union import Identity
  from testing_neuraxle.mocks.step_mocks import SomeMetaStepWithHyperparams
label_desc: Use image node_id 5 for calling a global function with example usage: test_typable_mixin_can_hold_type_annotation(tmpdir) without return types