whole_func_string: function resolveBot(bot) {
    let isWaterfall = ("function" == typeof bot) || Array.isArray(bot);
    if (isWaterfall) {
      let dialog = bot;
      let connector = new TestConnector();
      bot = new builder.UniversalBot(connector);
      bot.dialog('/', dialog);
    } else if (bot instanceof builder.UniversalBot) {
      if ( !bot.connector()) {
        bot.connector('console', new TestConnector());
      }
    } else {
      throw new Error(`Unknown type of bot/dialog. Error: ${JSON.stringify(bot)}`);
    }
    return bot;
  }
func_code_string: function resolveBot(bot) {
    let isWaterfall = ("function" == typeof bot) || Array.isArray(bot);
    if (isWaterfall) {
      let dialog = bot;
      let connector = new TestConnector();
      bot = new builder.UniversalBot(connector);
      bot.dialog('/', dialog);
    } else if (bot instanceof builder.UniversalBot) {
      if ( !bot.connector()) {
        bot.connector('console', new TestConnector());
      }
    } else {
      throw new Error(`Unknown type of bot/dialog. Error: ${JSON.stringify(bot)}`);
    }
    return bot;
  }
func_documentation_string: Wraps arrays and functions into instance of UniversalBot
  Ensure that given bot has connector, otherwise inject TestConnector
  
  @param bot
  @returns {*}