Simplify the tests
diff --git a/tests/trailing_whitespace_fixer_test.py b/tests/trailing_whitespace_fixer_test.py
index 4b5b9a1..6f4fdfd 100644
--- a/tests/trailing_whitespace_fixer_test.py
+++ b/tests/trailing_whitespace_fixer_test.py
@@ -1,31 +1,23 @@
 from __future__ import absolute_import
 from __future__ import unicode_literals
 
-import sys
-
 import pytest
 
 from pre_commit_hooks.trailing_whitespace_fixer import fix_trailing_whitespace
-from testing.util import cwd
 
 
-def test_fixes_trailing_whitespace(tmpdir):
-    with cwd(tmpdir.strpath):
-        for filename, contents in (
-                ('foo.py', 'foo \nbar \n'),
-                ('bar.py', 'bar\t\nbaz\t\n'),
-        ):
-            with open(filename, 'w') as file_obj:
-                file_obj.write(contents)  # pragma: no branch (26 coverage bug)
-
-        ret = fix_trailing_whitespace(['foo.py', 'bar.py'])
-        assert ret == 1
-
-        for filename, after_contents in (
-                ('foo.py', 'foo\nbar\n'),
-                ('bar.py', 'bar\nbaz\n'),
-        ):
-            assert open(filename).read() == after_contents
+@pytest.mark.parametrize(
+    ('input_s', 'expected'),
+    (
+        ('foo \nbar \n', 'foo\nbar\n'),
+        ('bar\t\nbaz\t\n', 'bar\nbaz\n'),
+    ),
+)
+def test_fixes_trailing_whitespace(input_s, expected, tmpdir):
+    path = tmpdir.join('file.txt')
+    path.write(input_s)
+    assert fix_trailing_whitespace((path.strpath,)) == 1
+    assert path.read() == expected
 
 
 # filename, expected input, expected output
@@ -39,13 +31,11 @@
 
 @pytest.mark.parametrize(('filename', 'input_s', 'output'), MD_TESTS_1)
 def test_fixes_trailing_markdown_whitespace(filename, input_s, output, tmpdir):
-    with cwd(tmpdir.strpath):
-        with open(filename, 'w') as file_obj:
-            file_obj.write(input_s)  # pragma: no branch (26 coverage bug)
-
-        ret = fix_trailing_whitespace([filename])
-        assert ret == 1
-        assert open(filename).read() == output
+    path = tmpdir.join(filename)
+    path.write(input_s)
+    ret = fix_trailing_whitespace([path.strpath])
+    assert ret == 1
+    assert path.read() == output
 
 
 # filename, expected input, expected output
@@ -60,14 +50,13 @@
 
 @pytest.mark.parametrize(('filename', 'input_s', 'output'), MD_TESTS_2)
 def test_markdown_linebreak_ext_opt(filename, input_s, output, tmpdir):
-    with cwd(tmpdir.strpath):
-        with open(filename, 'w') as file_obj:
-            file_obj.write(input_s)  # pragma: no branch (26 coverage bug)
-
-        ret = fix_trailing_whitespace(['--markdown-linebreak-ext=TxT',
-                                       filename])
-        assert ret == 1
-        assert open(filename).read() == output
+    path = tmpdir.join(filename)
+    path.write(input_s)
+    ret = fix_trailing_whitespace((
+        '--markdown-linebreak-ext=TxT', path.strpath
+    ))
+    assert ret == 1
+    assert path.read() == output
 
 
 # filename, expected input, expected output
@@ -79,25 +68,21 @@
 
 @pytest.mark.parametrize(('filename', 'input_s', 'output'), MD_TESTS_3)
 def test_markdown_linebreak_ext_opt_all(filename, input_s, output, tmpdir):
-    with cwd(tmpdir.strpath):
-        with open(filename, 'w') as file_obj:
-            file_obj.write(input_s)  # pragma: no branch (26 coverage bug)
-
-        # need to make sure filename is not treated as argument to option
-        ret = fix_trailing_whitespace(['--markdown-linebreak-ext=*',
-                                       filename])
-        assert ret == 1
-        assert open(filename).read() == output
+    path = tmpdir.join(filename)
+    path.write(input_s)
+    # need to make sure filename is not treated as argument to option
+    ret = fix_trailing_whitespace([
+        '--markdown-linebreak-ext=*', path.strpath,
+    ])
+    assert ret == 1
+    assert path.read() == output
 
 
 @pytest.mark.parametrize(('arg'), ('--', 'a.b', 'a/b'))
 def test_markdown_linebreak_ext_badopt(arg):
-    try:
-        ret = fix_trailing_whitespace(['--markdown-linebreak-ext', arg])
-    except SystemExit:
-        ret = sys.exc_info()[1].code
-    finally:
-        assert ret == 2
+    with pytest.raises(SystemExit) as excinfo:
+        fix_trailing_whitespace(['--markdown-linebreak-ext', arg])
+    assert excinfo.value.code == 2
 
 
 # filename, expected input, expected output
@@ -109,13 +94,11 @@
 
 @pytest.mark.parametrize(('filename', 'input_s', 'output'), MD_TESTS_4)
 def test_no_markdown_linebreak_ext_opt(filename, input_s, output, tmpdir):
-    with cwd(tmpdir.strpath):
-        with open(filename, 'w') as file_obj:
-            file_obj.write(input_s)  # pragma: no branch (26 coverage bug)
-
-        ret = fix_trailing_whitespace(['--no-markdown-linebreak-ext', filename])
-        assert ret == 1
-        assert open(filename).read() == output
+    path = tmpdir.join(filename)
+    path.write(input_s)
+    ret = fix_trailing_whitespace(['--no-markdown-linebreak-ext', path.strpath])
+    assert ret == 1
+    assert path.read() == output
 
 
 def test_returns_zero_for_no_changes():