def test_adds_all_subcommands(self): """ make_subparser should add all subcommands when called. """ make_parser() flattened_calls = list( itertools.chain(*itertools.chain( *self.mock_subparser.add_parser.call_args_list))) for command in subcommands: self.assertIn(command, flattened_calls)
def test_add_default_help(self): """ make_subparser should add a default to print usage when caled. """ make_parser() # NOTE: You can't compare lambdas made in different scopes self.assertTrue(self.mock_parser.set_defaults.called) self.assertFalse(self.mock_parser.print_usage.called) mock_args = self.mock_parser.parse_args.return_value mock_args.version = False _, kwargs = self.mock_parser.set_defaults.call_args kwargs['run'](mock_args) self.assertTrue(self.mock_parser.print_usage.called)
def test_creates_argument_parser(self): """ make_parser should create an ArgumentParser when called. """ make_parser() self.assertTrue(self.mock_argparse.ArgumentParser.called)