def test_remove_options(self): obs = ScriptInfo(self.info_dict, 'example_script', 'example_script.py') obs.remove_options('choice_ex,repeat_ex') self.assertEqual(obs.optional_opts, []) obs = ScriptInfo(self.info_dict, 'example_script', 'example_script.py') obs.remove_options('choice_ex') self.assertEqual(len(obs.optional_opts), 1) obs_option = obs.optional_opts[0] self.assertEqual(obs_option.name, 'repeat_ex') self.assertEqual(obs_option.type, 'repeat') self.assertEqual(obs_option.short_opt, '-r') self.assertEqual(obs_option.long_opt, '--repeat_ex') self.assertEqual(obs_option.label, 'An example of existing_filepaths option') self.assertEqual(obs_option.default, None) self.assertEqual(obs_option.choices, None) self.assertEqual(obs_option.format, None) # Try to remove a required option obs = ScriptInfo(self.info_dict, 'example_script', 'example_script.py') self.assertRaises(ValueError, obs.remove_options, 'input_fp') # Try to remove an option which does not existss obs = ScriptInfo(self.info_dict, 'example_script', 'example_script.py') self.assertRaises(ValueError, obs.remove_options, 'option')
def test_get_optional_opt(self): obj = ScriptInfo(self.info_dict, 'example_script', 'example_script.py') obs = obj._get_optional_opt('repeat_ex') self.assertEqual(obs.name, 'repeat_ex') self.assertEqual(obs.type, 'repeat') self.assertEqual(obs.short_opt, '-r') self.assertEqual(obs.long_opt, '--repeat_ex') self.assertEqual(obs.label, 'An example of existing_filepaths option') self.assertEqual(obs.default, None) self.assertEqual(obs.choices, None) self.assertEqual(obs.format, None) # This option does not exists obs = obj._get_optional_opt('option') self.assertEqual(obs, None) # This option is required obs = obj._get_optional_opt('input_fp') self.assertEqual(obs, None)