text: #!/usr/bin/env python
  
  
  
  
  ##################################################
  ## DEPENDENCIES
  import sys
  import os
  import os.path
  try:
      import builtins as builtin
  except ImportError:
      import __builtin__ as builtin
  from os.path import getmtime, exists
  import time
  import types
  from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion
  from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple
  from Cheetah.Template import Template
  from Cheetah.DummyTransaction import *
  from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList
  from Cheetah.CacheRegion import CacheRegion
  import Cheetah.Filters as Filters
  import Cheetah.ErrorCatchers as ErrorCatchers
  
  ##################################################
  ## MODULE CONSTANTS
  VFFSL=valueFromFrameOrSearchList
  VFSL=valueFromSearchList
  VFN=valueForName
  currentTime=time.time
  __CHEETAH_version__ = '2.4.4'
  __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
  __CHEETAH_genTime__ = 1554930777.93894
  __CHEETAH_genTimestamp__ = 'Wed Apr 10 14:12:57 2019'
  __CHEETAH_src__ = 'hpp.tmpl'
  __CHEETAH_srcLastModified__ = 'Wed Apr 10 11:25:47 2019'
  __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
  
  if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
      raise AssertionError(
        'This template was compiled with Cheetah version'
        ' %s. Templates compiled before version %s must be recompiled.'%(
           __CHEETAH_version__, RequiredCheetahVersion))
  
  ##################################################
  ## CLASSES
  
  class hpp(Template):
  
      ##################################################
      ## CHEETAH GENERATED METHODS
  
  
      def __init__(self, *args, **KWs):
  
          super(hpp, self).__init__(*args, **KWs)
          if not self._CHEETAH__instanceInitialized:
              cheetahKWArgs = {}
              allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split()
              for k,v in KWs.items():
                  if k in allowedKWs: cheetahKWArgs[k] = v
              self._initCheetahInstance(**cheetahKWArgs)
          
  
      def respond(self, trans=None):
  
  
  
          ## CHEETAH: main method generated for this template
          if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
              trans = self.transaction # is None unless self.awake() was called
          if not trans:
              trans = DummyTransaction()
              _dummyTrans = True
          else: _dummyTrans = False
          write = trans.response().write
          SL = self._CHEETAH__searchList
          _filter = self._CHEETAH__currentFilter
          
          ########################################
          ## START - generated method body
          
          write(u'''// ====================================================================== 
  // \\title  ''')
          _v = VFSL([locals()]+SL+[globals(), builtin],"name",True) # u'${name}' on line 2, col 12
          if _v is not None: write(_filter(_v, rawExpr=u'${name}')) # from line 2, col 12.
          write(u'''/test/ut/Tester.hpp
  // \\author ''')
          _v = VFSL([locals()]+SL+[globals(), builtin],"user",True) # u'$user' on line 3, col 12
          if _v is not None: write(_filter(_v, rawExpr=u'$user')) # from line 3, col 12.
          write(u'''
  // \\brief  hpp file for ''')
          _v = VFSL([locals()]+SL+[globals(), builtin],"name",True) # u'${name}' on line 4, col 25
          if _v is not None: write(_filter(_v, rawExpr=u'${name}')) # from line 4, col 25.
          write(u''' test harness implementation class
  //
  // \\copyright
  // Copyright 2009-2015, by the California Institute of Technology.
  // ALL RIGHTS RESERVED.  United States Government Sponsorship
  // acknowledged. Any commercial use must be negotiated with the Office
  // of Technology Transfer at the California Institute of Technology.
  // 
  // This software may be subject to U.S. export control laws and
  // regulations.  By accepting this document, the user agrees to comply
  // with all U.S. export laws and regulations.  User has the
  // responsibility to obtain export licenses, or other export authority
  // as may be required before exporting such information to foreign
  // countries or providing access to foreign persons.
  // ====================================================================== 
  
  #ifndef TESTER_HPP
  #define TESTER_HPP
  
  #include "GTestBase.hpp"
  #include "''')
          _v = VFSL([locals()]+SL+[globals(), builtin],"include_path",True) # u'${include_path}' on line 24, col 12
          if _v is not None: write(_filter(_v, rawExpr=u'${include_path}')) # from line 24, col 12.
          write(u'''/''')
          _v = VFSL([locals()]+SL+[globals(), builtin],"name",True) # u'${name}' on line 24, col 28
          if _v is not None: write(_filter(_v, rawExpr=u'${name}')) # from line 24, col 28.
          write(u'''ComponentImpl.hpp"
  
  ''')
          if VFSL([locals()]+SL+[globals(), builtin],"namespace_list",True) != None: # generated from line 26, col 1
              for namespace in VFSL([locals()]+SL+[globals(), builtin],"namespace_list",True): # generated from line 27, col 3
                  write(u'''namespace ''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"namespace",True) # u'${namespace}' on line 28, col 11
                  if _v is not None: write(_filter(_v, rawExpr=u'${namespace}')) # from line 28, col 11.
                  write(u''' {
  ''')
              write(u'''
  ''')
          write(u'''  class Tester :
      public ''')
          _v = VFSL([locals()]+SL+[globals(), builtin],"gtest_base",True) # u'$gtest_base' on line 33, col 12
          if _v is not None: write(_filter(_v, rawExpr=u'$gtest_base')) # from line 33, col 12.
          write(u'''
    {
  
        // ----------------------------------------------------------------------
        // Construction and destruction
        // ----------------------------------------------------------------------
  
      public:
  
        //! Construct object Tester
        //!
        Tester(void);
  
        //! Destroy object Tester
        //!
        ~Tester(void);
  
      public:
  
        // ---------------------------------------------------------------------- 
        // Tests
        // ---------------------------------------------------------------------- 
  
        //! To do
        //!
        void toDo(void);
  
  ''')
          if len(VFSL([locals()]+SL+[globals(), builtin],"typed_user_output_ports",True)) > 0: # generated from line 60, col 1
              write(u'''    private:
  
        // ----------------------------------------------------------------------
        // Handlers for typed from ports
        // ----------------------------------------------------------------------
  
  ''')
              for instance, type, sync, priority, role, max_num in VFSL([locals()]+SL+[globals(), builtin],"typed_user_output_ports",True): # generated from line 67, col 3
                  return_type = VFSL([locals()]+SL+[globals(), builtin],"port_return_type_strs",True)[VFSL([locals()]+SL+[globals(), builtin],"instance",True)]
                  write(u'''      //! Handler for from_''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"instance",True) # u'${instance}' on line 69, col 28
                  if _v is not None: write(_filter(_v, rawExpr=u'${instance}')) # from line 69, col 28.
                  write(u'''
        //!
        ''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"return_type",True) # u'${return_type}' on line 71, col 7
                  if _v is not None: write(_filter(_v, rawExpr=u'${return_type}')) # from line 71, col 7.
                  write(u'''from_''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"instance",True) # u'${instance}' on line 71, col 26
                  if _v is not None: write(_filter(_v, rawExpr=u'${instance}')) # from line 71, col 26.
                  write(u'''_handler(
  ''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"emit_port_params",False)([ VFSL([locals()]+SL+[globals(), builtin],"param_portNum",True) ] + VFSL([locals()]+SL+[globals(), builtin],"port_params",True)[VFSL([locals()]+SL+[globals(), builtin],"instance",True)]) # u'$emit_port_params([ $param_portNum ] + $port_params[$instance])' on line 72, col 1
                  if _v is not None: write(_filter(_v, rawExpr=u'$emit_port_params([ $param_portNum ] + $port_params[$instance])')) # from line 72, col 1.
                  write(u'''
        );
  
  ''')
          if len(VFSL([locals()]+SL+[globals(), builtin],"serial_output_ports",True)) > 0: # generated from line 77, col 1
              write(u'''    private:
  
        // ----------------------------------------------------------------------
        // Handlers for serial from ports
        // ----------------------------------------------------------------------
  
  ''')
              for instance, sync, priority, max_num in VFSL([locals()]+SL+[globals(), builtin],"serial_output_ports",True): # generated from line 84, col 3
                  return_type = VFSL([locals()]+SL+[globals(), builtin],"port_return_type_strs",True)[VFSL([locals()]+SL+[globals(), builtin],"instance",True)]
                  write(u'''      //! Handler for from_''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"instance",True) # u'${instance}' on line 86, col 28
                  if _v is not None: write(_filter(_v, rawExpr=u'${instance}')) # from line 86, col 28.
                  write(u'''
        //!
        ''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"return_type",True) # u'${return_type}' on line 88, col 7
                  if _v is not None: write(_filter(_v, rawExpr=u'${return_type}')) # from line 88, col 7.
                  write(u'''from_''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"instance",True) # u'${instance}' on line 88, col 26
                  if _v is not None: write(_filter(_v, rawExpr=u'${instance}')) # from line 88, col 26.
                  write(u'''_handler(
          NATIVE_INT_TYPE portNum, ''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"doxygen_post_comment",False)("The port number") # u'$doxygen_post_comment("The port number")' on line 89, col 34
                  if _v is not None: write(_filter(_v, rawExpr=u'$doxygen_post_comment("The port number")')) # from line 89, col 34.
                  write(u'''
          Fw::SerializeBufferBase &Buffer ''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"doxygen_post_comment",False)("The serialization buffer") # u'$doxygen_post_comment("The serialization buffer")' on line 90, col 41
                  if _v is not None: write(_filter(_v, rawExpr=u'$doxygen_post_comment("The serialization buffer")')) # from line 90, col 41.
                  write(u'''
        );
  
  ''')
          write(u'''    private:
  
        // ----------------------------------------------------------------------
        // Helper methods
        // ----------------------------------------------------------------------
  
        //! Connect ports
        //!
        void connectPorts(void);
  
        //! Initialize components
        //!
        void initComponents(void);
  
      private:
  
        // ----------------------------------------------------------------------
        // Variables
        // ----------------------------------------------------------------------
  
        //! The component under test
        //!
        ''')
          _v = VFSL([locals()]+SL+[globals(), builtin],"name",True) # u'${name}' on line 117, col 7
          if _v is not None: write(_filter(_v, rawExpr=u'${name}')) # from line 117, col 7.
          write(u'''ComponentImpl component;
  
    };
  
  ''')
          if VFSL([locals()]+SL+[globals(), builtin],"namespace_list",True) != None: # generated from line 121, col 1
              for namespace in VFSL([locals()]+SL+[globals(), builtin],"namespace_list",True): # generated from line 122, col 3
                  write(u'''} // end namespace ''')
                  _v = VFSL([locals()]+SL+[globals(), builtin],"namespace",True) # u'$namespace' on line 123, col 20
                  if _v is not None: write(_filter(_v, rawExpr=u'$namespace')) # from line 123, col 20.
                  write(u'''
  ''')
              write(u'''
  ''')
          write(u'''#endif
  ''')
          
          ########################################
          ## END - generated method body
          
          return _dummyTrans and trans.response().getvalue() or ""
          
      ##################################################
      ## CHEETAH GENERATED ATTRIBUTES
  
  
      _CHEETAH__instanceInitialized = False
  
      _CHEETAH_version = __CHEETAH_version__
  
      _CHEETAH_versionTuple = __CHEETAH_versionTuple__
  
      _CHEETAH_genTime = __CHEETAH_genTime__
  
      _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__
  
      _CHEETAH_src = __CHEETAH_src__
  
      _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__
  
      _mainCheetahMethod_for_hpp= 'respond'
  
  ## END CLASS DEFINITION
  
  if not hasattr(hpp, '_initCheetahAttributes'):
      templateAPIClass = getattr(hpp, '_CHEETAH_templateClass', Template)
      templateAPIClass._addCheetahPlumbingCodeToClass(hpp)
  
  
  # CHEETAH was developed by Tavis Rudd and Mike Orr
  # with code, advice and input from many other volunteers.
  # For more information visit http://www.CheetahTemplate.org/
  
  ##################################################
  ## if run from command line:
  if __name__ == '__main__':
      from Cheetah.TemplateCmdLineIface import CmdLineIface
      CmdLineIface(templateObj=hpp()).run()
  
  
  