(command.CommandList
  children: [
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'../base.lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'../fs.lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'../string.lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'../bool.lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_k_tool_name>
      name: test_k_tool_name
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <assertEquals>
              more_env: []
              words: [
                {<assertEquals>}
                {(DQ <'Tool name auto detect is correct'>)}
                {
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Simple
                          blame_tok: <basename>
                          more_env: []
                          words: [{<basename>} {(DQ ($ Id.VSub_Number 0))}]
                          redirects: []
                          do_fork: T
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
                {
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Simple
                          blame_tok: <k_tool_name>
                          more_env: []
                          words: [{<k_tool_name>}]
                          redirects: []
                          do_fork: T
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <assertEquals>
              more_env: []
              words: [
                {<assertEquals>}
                {(DQ <'Tool name variable is correct'>)}
                {(DQ <sometoolname>)}
                {
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Simple
                          blame_tok: <k_tool_name>
                          more_env: [
                            (EnvPair
                              left: <Id.Lit_VarLike 'KOALEPHANT_TOOL_NAME='>
                              name: KOALEPHANT_TOOL_NAME
                              val: {<sometoolname>}
                            )
                          ]
                          words: [{<k_tool_name>}]
                          redirects: []
                          do_fork: T
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <test_k_tool_version>
      name: test_k_tool_version
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <assertEquals>
              more_env: []
              words: [
                {<assertEquals>}
                {(DQ <'Tool version defaults to 1.0.0'>)}
                {(DQ <1.0.0>)}
                {
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Simple
                          blame_tok: <k_tool_version>
                          more_env: []
                          words: [{<k_tool_version>}]
                          redirects: []
                          do_fork: T
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <assertEquals>
              more_env: []
              words: [
                {<assertEquals>}
                {(DQ <'Tool version variable is correct'>)}
                {(DQ <2.3.1>)}
                {
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Simple
                          blame_tok: <k_tool_version>
                          more_env: [
                            (EnvPair
                              left: <Id.Lit_VarLike 'KOALEPHANT_TOOL_VERSION='>
                              name: KOALEPHANT_TOOL_VERSION
                              val: {<2.3.1>}
                            )
                          ]
                          words: [{<k_tool_version>}]
                          redirects: []
                          do_fork: T
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)