human
Complete this python program:
def make_amp_agent_options_tests(options_type):
assistant
#Here is the Python program you requested.

    """Create a test case which contains the tests that should apply to any and
    all convergence agents (dataset or container).
    :param options_type: An ``Options`` subclass  to be tested.
    :return: A ``TestCase`` subclass defining tests for that options
    type.
    """
    class Tests(TestCase, ):
        def setUp(self):
            super(Tests, self).setUp()
            self.options = options_type()
            self.scratch_directory = FilePath(self.mktemp())
            self.scratch_directory.makedirs()
            self.sample_content = yaml.safe_dump({u'control-service': {u'hostname': u'10.0.0.1', u'port': 4524}, u'version': 1})
            self.config = self.scratch_directory.child('dataset-config.yml')
            self.config.setContent(self.sample_content)
        def test_default_config_file(self):
            '\n                                                The    default    config    file    is    a    FilePath    with    path\n                                                ``/etc/flocker/agent.yml``.\n                                                '
            self.options.parseOptions([])
            self.assertEqual(self.options['agent-config'], FilePath('/etc/flocker/agent.yml'))
        def test_custom_config_file(self):
            '\n                                                The    ``--config-file``    command-line    option    allows    configuring\n                                                the    config    file.\n                                                '
            self.options.parseOptions(['--agent-config', '/etc/foo.yml'])
            self.assertEqual(self.options['agent-config'], FilePath('/etc/foo.yml'))
    return Tests