Repository: allrod5/parameters-validation

Issue:
Decorated function can not return right value. 
I think I found a bug.

**How to reproduce:**
```python
from parameters_validation import non_null, validate_parameters

@validate_parameters
def concat(front: str, back: non_null(str)):
    result = None
    if front:
        result = front + '-' + back
    print('inner_result = {}'.format(result))
    return result

result_str = concat('one' , 'two')
print('outer_result = {}'.format(result_str)
```
step 1: Run above coce
step 2: 'inner_result' should be same with 'outer_result'.  But they are different
step 3: If you comment out '@validate_parameters' line, the output has no problem.


Discussion:

Patch:
diff --git a/parameters_validation/validate_parameters_decorator.py b/parameters_validation/validate_parameters_decorator.py
index 877f496..7aea24b 100644
--- a/parameters_validation/validate_parameters_decorator.py
+++ b/parameters_validation/validate_parameters_decorator.py
@@ -33,6 +33,6 @@ def validate_parameters(func):
                 continue
             annotation(parameters[parameter], parameter)
 
-        func(*args, **kwargs)
+        return func(*args, **kwargs)
 
     return wrapper
diff --git a/setup.py b/setup.py
index 884467f..efdb614 100644
--- a/setup.py
+++ b/setup.py
@@ -16,7 +16,7 @@ extras = {
 
 setup(
     name='parameters-validation',
-    version='1.1.0',
+    version='1.1.1',
     packages=['parameters_validation'],
     url='https://github.com/allrod5/parameters-validation',
     license='MIT',


Test patch:
diff --git a/test/__init__.py b/tests/__init__.py
similarity index 100%
rename from test/__init__.py
rename to tests/__init__.py
diff --git a/tests/bugfixes/__init__.py b/tests/bugfixes/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/bugfixes/test_return_value_is_preserved.py b/tests/bugfixes/test_return_value_is_preserved.py
new file mode 100644
index 0000000..af96bc4
--- /dev/null
+++ b/tests/bugfixes/test_return_value_is_preserved.py
@@ -0,0 +1,27 @@
+"""
+This test covers a fix for a bug first reported in
+https://github.com/allrod5/parameters-validation/issues/2
+
+In version 1.1.0 a function annotated with decorator
+@validate_parameters would return None regardless of it's actual
+return value
+
+This bug was fixed in version 1.1.1
+"""
+from parameters_validation import non_null, validate_parameters
+
+
+def test_return_value_is_preserved():
+    # given
+    @validate_parameters
+    def guinea_pig(front: str, back: non_null(str)):
+        result = None
+        if front:
+            result = front + '-' + back
+        return result
+
+    # when
+    return_value = guinea_pig("one", "two")
+
+    # then
+    assert return_value == "one-two"