Esempio n. 1
0
    def test_io_in_adder_active(self):
        """
        _io_in_adder() adds proper arguments
        """
        # set up mock parser
        parser = MagicMock()
        group = MagicMock()
        group.add_argument = MagicMock()
        parser.add_argument_group = MagicMock(return_value=group)

        # create a list of expected call signatures
        calls = []
        msg = 'Overwrite input column names with this list'
        calls.append(call('--names', nargs='+', type=str,
                          dest='names', metavar="name", help=msg))
        default_for_input = ['csv', 'header']
        io_opt_list = ['csv', 'table', 'tsv', 'json', 'header', 'noheader']
        msg = "Must be one of {}".format(io_opt_list)
        calls.append(call('-i', '--input_options', nargs='+',
                          type=str, dest='input_options', metavar='option',
                          default=default_for_input, choices=io_opt_list,
                          help=msg))

        # run the code under test
        args = ['io_in']
        config_dict = {'io_input_type': 'csv', 'io_input_header': 'header'}
        arg_lib._io_in_adder(parser, config_dict, *args)

        # make sure proper calls were made
        self.assertEqual(group.add_argument.call_args_list, calls)
Esempio n. 2
0
 def test_io_in_adder_inactive(self):
     """
     _io_in_adder() doesn't do anything when io_in not specified
     """
     parser = MagicMock()
     parser.add_argument = MagicMock()
     args = []
     arg_lib._io_in_adder(parser, {}, *args)
     self.assertFalse(parser.add_argument.called)