code: def test_complete_subcommands_main(self, argcomplete_on):
      app = MainApp()
      completions = set(self.run_completer(app, "app --"))
      assert completions > {"--Application.", "--MainApp."}
      assert (
          "--SubApp1." not in completions
          and "--SubApp2." not in completions
      )
  
imports: import io
  import os
  import typing
  import pytest
  from traitlets import Unicode
  from traitlets.config.application import Application
  from traitlets.config.configurable import Configurable
  from traitlets.config.loader import KVArgParseConfigLoader
label_desc: Use image node_id 8 for calling the TestArgcomplete obj's underlying member method code with example usage: obj.test_complete_subcommands_main(argcomplete_on) without return types