Add some tests for tests_should_end_in_test hook
diff --git a/pre_commit_hooks/tests_should_end_in_test.py b/pre_commit_hooks/tests_should_end_in_test.py
index 86991f0..92f2031 100644
--- a/pre_commit_hooks/tests_should_end_in_test.py
+++ b/pre_commit_hooks/tests_should_end_in_test.py
@@ -1,4 +1,6 @@
 
+from __future__ import print_function
+
 import sys
 
 
@@ -11,14 +13,14 @@
             not filename.endswith('/conftest.py')
         ):
             retcode = 1
-            print '{0} does not end in _test.py'.format(filename)
+            print('{0} does not end in _test.py'.format(filename))
 
     return retcode
 
 
 def entry():
-    validate_files(sys.argv[1:])
+    return validate_files(sys.argv[1:])
 
 
 if __name__ == '__main__':
-    sys.exit(entry())
\ No newline at end of file
+    sys.exit(entry())
diff --git a/tests/conftest.py b/tests/conftest.py
new file mode 100644
index 0000000..762b31d
--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1,11 @@
+
+import __builtin__
+
+import mock
+import pytest
+
+
+@pytest.yield_fixture
+def print_mock():
+    with mock.patch.object(__builtin__, 'print', autospec=True) as mock_print:
+        yield mock_print
diff --git a/tests/tests_should_end_in_test_test.py b/tests/tests_should_end_in_test_test.py
new file mode 100644
index 0000000..e56b84e
--- /dev/null
+++ b/tests/tests_should_end_in_test_test.py
@@ -0,0 +1,14 @@
+
+from pre_commit_hooks.tests_should_end_in_test import validate_files
+
+
+def test_validate_files_all_pass(print_mock):
+    ret = validate_files(['foo_test.py', 'bar_test.py'])
+    assert ret == 0
+    assert print_mock.call_count == 0
+
+
+def test_validate_files_one_fails(print_mock):
+    ret = validate_files(['not_test_ending.py', 'foo_test.py'])
+    assert ret == 1
+    assert print_mock.call_count == 1