def starts_with(self, prefix):
        if prefix is None:
            raise TypeError('given prefix arg must not be none')
        if isinstance(self.val, str_types):
            if not isinstance(prefix, str_types):
                raise TypeError('given prefix arg must be a string')
            if len(prefix) == 0:
                raise ValueError('given prefix arg must not be empty')
            if not self.val.startswith(prefix):
                self._err('Expected <%s> to start with <%s>, but did not.' % (self.val, prefix))
        elif isinstance(self.val, collections.Iterable):
            if len(self.val) == 0:
                raise ValueError('val must not be empty')
            for i in self.val:
                if i != prefix:
                    self._err('Expected %s to start with <%s>, but did not.' % (self.val, prefix))
                break
        else:
            raise TypeError('val is not a string or iterable')
        return self
Returns the name of the product. Takes care whether the product is a
dataset/ETHPy150Open ActivisionGameScience/assertpy/assertpy/assertpy.py/AssertionBuilder.starts_with--crossover with--dataset/ETHPy150Open diefenbach/django-lfs/lfs/catalog/models.py/Product.get_name