'Fails if given ``string`` is not title.
``string`` is a titlecased string if there is at least one
character in it, uppercase characters only follow uncased
characters and lowercase characters only cased ones.
For example, ``\'This Is Title\'`` would pass, and ``\'Word In UPPER\'``,
``\'Word In lower\'``, ``\'\'`` and ``\' \'`` would fail.
The default error message can be overridden with the optional
``msg`` argument.
See also `Should Be Uppercase` and `Should Be Lowercase`.'

def should_be_titlecase(self, string, msg=None):

    if (not string.istitle()):
        self._fail(msg, "'%s'    is    not    titlecase.", string)
