# Path: cardinal/decorators.py
# _RETYPE = type(re.compile('foobar'))
# def command(triggers):
#     def wrap(f):
# def regex(expression):
#     def wrap(f):
# def help(lines):
#     def wrap(f):
# def event(triggers):
#     def wrap(f):


import pytest
from cardinal import decorators

    assert foo(3, baz=4) == 7
    assert foo(5, 5) == 10


@pytest.mark.parametrize("value", [
    True,
    False,
    5,
    3.14,
    ('foo',),
    {'foo': 'bar'},
    object(),
])
def test_regex_exceptions(value):
    # only allow strings and lists
    with pytest.raises(TypeError):
        @decorators.regex(value)
        def foo():
            pass


@pytest.mark.parametrize("input,expected", (
    (["A help line", "A second help line"],
     ["A help line", "A second help line"]),
    (["A single help line"], ["A single help line"]),
    ("A real single help line", ["A real single help line"]),
))
def test_help(input, expected):
    @decorators.help(input)

# Path: cardinal/decorators.py
# _RETYPE = type(re.compile('foobar'))
# def command(triggers):
#     def wrap(f):
# def regex(expression):
#     def wrap(f):
# def help(lines):
#     def wrap(f):
# def event(triggers):
#     def wrap(f):


# Path: cardinal/test_decorators.py
import pytest
from cardinal import decorators


    assert foo(3, baz=4) == 7
    assert foo(5, 5) == 10


@pytest.mark.parametrize("value", [
    True,
    False,
    5,
    3.14,
    ('foo',),
    {'foo': 'bar'},
    object(),
])
def test_regex_exceptions(value):
    # only allow strings and lists
    with pytest.raises(TypeError):
        @decorators.regex(value)
        def foo():
            pass


@pytest.mark.parametrize("input,expected", (
    (["A help line", "A second help line"],
     ["A help line", "A second help line"]),
    (["A single help line"], ["A single help line"]),
    ("A real single help line", ["A real single help line"]),
))
def test_help(input, expected):
    @decorators.help(input)

    def foo(x):