def test_alternative_decorator_doc():

    def my_func():
        """
        Foo bar
        """
        pass

    decorated = alternative(my_func)

    assert decorated.__doc__.strip() == "Foo bar"
def test_alternative_decorator():
    mock = Mock()
    mock.return_value = 'baz'

    a_alternative = alternative(mock)

    a1 = a_alternative('foo')

    assert isinstance(a1, Alternative)
    assert a1.func() == 'baz'
    assert mock.mock_calls == [call('foo')]