# Path: notifications_utils/take.py
# class Take(str):
# 
#     def then(self, func, *args, **kwargs):
#         return self.__class__(func(self, *args, **kwargs))


from notifications_utils.take import Take


def _uppercase(value):
    return value.upper()


def _append(value, to_append):
    return value + to_append


def _prepend_with_service_name(value, service_name=None):
    return '{}: {}'.format(service_name, value)


def test_take():

# Path: notifications_utils/take.py
# class Take(str):
# 
#     def then(self, func, *args, **kwargs):
#         return self.__class__(func(self, *args, **kwargs))


# Path: tests/test_take.py
from notifications_utils.take import Take



def _uppercase(value):
    return value.upper()


def _append(value, to_append):
    return value + to_append


def _prepend_with_service_name(value, service_name=None):
    return '{}: {}'.format(service_name, value)


def test_take():

    assert 'Service name: HELLO WORLD!' == Take(