# Path: sampletester/inputs.py
# def untyped_yaml_resolver(unknown_doc: parser.Document) -> str :
# def index_docs(*file_patterns: str) -> parser.IndexedDocs:
#   def log_files(indexed_files):
# def create_indexed_docs(*all_paths: Set[str]) -> parser.IndexedDocs:
# def get_globbed(*file_patterns: str) -> Set[str]:
# 
# Path: sampletester/convention/tag.py
# ENVIRONMENT_KEY = 'environment'
# INVOCATION_KEY = 'invocation'
# CHDIR_KEY = 'chdir'
# PLACEHOLDER_CHAR = sample_manifest.RESERVED_SYMBOL_PREFIX
# PLACEHOLDER_ARGS = PLACEHOLDER_CHAR + 'args'
# BINARY_KEY = 'bin'
# PATH_KEY = 'path'
# class ManifestEnvironment(testenv.Base):
# class InternalInvalidPlaceholderDefinition(Exception):
#   def __init__(self, name: str, description: str, manifest: sample_manifest.Manifest,
#                indices: Iterable[str], testcase_settings=None, manifest_options=None):
#   def get_symbol(self, symbol):
#   def get_call(self, *args, **kwargs):
#   def adjust_suite_name(self, name):
#   def adjust_case_name(self, name):
#   def adjust_name(self, name):
#   def get_testcase_settings(self):
# def insert_into(host: str, *replacements): #  placeholder: str, guest: str):
# def test_environments(indexed_docs: parser.IndexedDocs,
#                       convention_parameters,
#                       manifest_options):
# 
# Path: sampletester/sample_manifest.py
# SCHEMA = parser.SchemaDescriptor('manifest')
# RESERVED_SYMBOL_PREFIX = '@'
# IMPLICIT_TAG_SOURCE = '{}manifest_source'.format(RESERVED_SYMBOL_PREFIX)
# IMPLICIT_TAG_DIR = '{}manifest_dir'.format(RESERVED_SYMBOL_PREFIX)
# class Manifest:
# class ManifestSyntaxError(Exception):
# class CycleError(Exception):
# class Inclusions:
# class ItemNotUniqueError(Exception):
# class ReadManifestError(Exception):
#   def __init__(self, *indices: str):
#   def set_indices(self, *indices: str):
#   def from_docs(self, indexed_docs: parser.IndexedDocs):
#   def read_sources(self, sources):
#   def string(self):
#   def index(self):
#   def index_source_v1(self, input, implicit_tags):
#   def index_source_v2(self, input, implicit_tags):
#   def index_source_v3(self, input, implicit_tags):
#   def _index_elements(self, all_elements):
#   def get_all_elements(self):
#   def _get_element(self, tags, idx_num):
#   def get_keys(self, *specified_keys):
#   def get(self, *keys, **filters):
#   def get_one(self, *keys, **filters):
# def get_elements_v3(input):
# def get_flattened_elements_v1_v2(input):
# def resolve_inclusions(all_elements):
# def resolve_element_inclusions(element):
# def resolve_tag_inclusion (element, tag_name, history,
#                            resolved, original_element, original_tag):
#   def __init__(self, parts):
#   def resolve(self, values):
#   def determine(value, element, tag_name):
# def create_implicit_tags(source='', dir=''):
# def extend_all_with(src, dst):
# def get_or_create(d, key, empty_value):
# def from_indexed_docs(indexed_docs: parser.IndexedDocs):
# def check_tag_names(src):


import os
import unittest
from sampletester import inputs
from sampletester.convention import tag
from sampletester import sample_manifest
    self.assertEqual(
        'Australia is a country in the south Atlantic "--continent=Australia"',
        self.get_call_only('invocation-via-bin-with-path',
                           '--continent=Australia'))
    self.assertEqual(
        'Australia is a country in the south Atlantic --continent="Australia"',
        self.get_call_only('invocation-via-bin-with-path',
                           continent='Australia'))

  def test_invocation_via_just_path(self):
    self.assertEqual('Mexico is a country "--continent=NorthAmerica"',
                     self.get_call_only('invocation-via-just-path',
                                        '--continent=NorthAmerica'))
    self.assertEqual('Mexico is a country --continent="NorthAmerica"',
                     self.get_call_only('invocation-via-just-path',
                                        continent='NorthAmerica'))

  def test_no_invocation_bin_path(self):
    self.assertRaises(Exception,
                      self.get_call_only, 'no-invocation-bin-path',
                      '--person=Alice')

  def test_no_matching_object(self):
    self.assertRaises(Exception,
                      self.get_call_only, 'no-object-with-this-value',
                      person='Bob')

class TestChangingInvocationKey(unittest.TestCase):
  def setUp(self):
    filename = full_path('testdata/tag_test.manifest.yaml')

# Path: sampletester/inputs.py
# def untyped_yaml_resolver(unknown_doc: parser.Document) -> str :
# def index_docs(*file_patterns: str) -> parser.IndexedDocs:
#   def log_files(indexed_files):
# def create_indexed_docs(*all_paths: Set[str]) -> parser.IndexedDocs:
# def get_globbed(*file_patterns: str) -> Set[str]:
# 
# Path: sampletester/convention/tag.py
# ENVIRONMENT_KEY = 'environment'
# INVOCATION_KEY = 'invocation'
# CHDIR_KEY = 'chdir'
# PLACEHOLDER_CHAR = sample_manifest.RESERVED_SYMBOL_PREFIX
# PLACEHOLDER_ARGS = PLACEHOLDER_CHAR + 'args'
# BINARY_KEY = 'bin'
# PATH_KEY = 'path'
# class ManifestEnvironment(testenv.Base):
# class InternalInvalidPlaceholderDefinition(Exception):
#   def __init__(self, name: str, description: str, manifest: sample_manifest.Manifest,
#                indices: Iterable[str], testcase_settings=None, manifest_options=None):
#   def get_symbol(self, symbol):
#   def get_call(self, *args, **kwargs):
#   def adjust_suite_name(self, name):
#   def adjust_case_name(self, name):
#   def adjust_name(self, name):
#   def get_testcase_settings(self):
# def insert_into(host: str, *replacements): #  placeholder: str, guest: str):
# def test_environments(indexed_docs: parser.IndexedDocs,
#                       convention_parameters,
#                       manifest_options):
# 
# Path: sampletester/sample_manifest.py
# SCHEMA = parser.SchemaDescriptor('manifest')
# RESERVED_SYMBOL_PREFIX = '@'
# IMPLICIT_TAG_SOURCE = '{}manifest_source'.format(RESERVED_SYMBOL_PREFIX)
# IMPLICIT_TAG_DIR = '{}manifest_dir'.format(RESERVED_SYMBOL_PREFIX)
# class Manifest:
# class ManifestSyntaxError(Exception):
# class CycleError(Exception):
# class Inclusions:
# class ItemNotUniqueError(Exception):
# class ReadManifestError(Exception):
#   def __init__(self, *indices: str):
#   def set_indices(self, *indices: str):
#   def from_docs(self, indexed_docs: parser.IndexedDocs):
#   def read_sources(self, sources):
#   def string(self):
#   def index(self):
#   def index_source_v1(self, input, implicit_tags):
#   def index_source_v2(self, input, implicit_tags):
#   def index_source_v3(self, input, implicit_tags):
#   def _index_elements(self, all_elements):
#   def get_all_elements(self):
#   def _get_element(self, tags, idx_num):
#   def get_keys(self, *specified_keys):
#   def get(self, *keys, **filters):
#   def get_one(self, *keys, **filters):
# def get_elements_v3(input):
# def get_flattened_elements_v1_v2(input):
# def resolve_inclusions(all_elements):
# def resolve_element_inclusions(element):
# def resolve_tag_inclusion (element, tag_name, history,
#                            resolved, original_element, original_tag):
#   def __init__(self, parts):
#   def resolve(self, values):
#   def determine(value, element, tag_name):
# def create_implicit_tags(source='', dir=''):
# def extend_all_with(src, dst):
# def get_or_create(d, key, empty_value):
# def from_indexed_docs(indexed_docs: parser.IndexedDocs):
# def check_tag_names(src):


# Path: tests/convention/tag_test.py
import os
import unittest
from sampletester import inputs
from sampletester.convention import tag
from sampletester import sample_manifest

    self.assertEqual(
        'Australia is a country in the south Atlantic "--continent=Australia"',
        self.get_call_only('invocation-via-bin-with-path',
                           '--continent=Australia'))
    self.assertEqual(
        'Australia is a country in the south Atlantic --continent="Australia"',
        self.get_call_only('invocation-via-bin-with-path',
                           continent='Australia'))

  def test_invocation_via_just_path(self):
    self.assertEqual('Mexico is a country "--continent=NorthAmerica"',
                     self.get_call_only('invocation-via-just-path',
                                        '--continent=NorthAmerica'))
    self.assertEqual('Mexico is a country --continent="NorthAmerica"',
                     self.get_call_only('invocation-via-just-path',
                                        continent='NorthAmerica'))

  def test_no_invocation_bin_path(self):
    self.assertRaises(Exception,
                      self.get_call_only, 'no-invocation-bin-path',
                      '--person=Alice')

  def test_no_matching_object(self):
    self.assertRaises(Exception,
                      self.get_call_only, 'no-object-with-this-value',
                      person='Bob')

class TestChangingInvocationKey(unittest.TestCase):
  def setUp(self):
    filename = full_path('testdata/tag_test.manifest.yaml')

    manifest = sample_manifest.Manifest('situation')