def METHOD_NAME(self, setup_parser, raw_input_):
    """Functional test of a full 'charm create' run."""
    class args(object):
        charmname = 'testcharm'
        charmhome = self.tempdir
        template = 'python'
        accept_defaults = False
        verbose = False
    setup_parser.return_value.parse_args.return_value = args
    raw_input_.side_effect = ['Y']
    main()
    outputdir = join(self.tempdir, args.charmname)
    actual_files = sorted(flatten(outputdir))
    expected_files = self._expected_files()
    metadata = yaml.safe_load(open(join(outputdir, 'metadata.yaml'), 'r'))
    self.assertEqual(expected_files, actual_files)
    self.assertEqual(metadata['name'], args.charmname)