diff --git a/tests/pretty_format_json_test.py b/tests/pretty_format_json_test.py
index 62e37f1..eeef65b 100644
--- a/tests/pretty_format_json_test.py
+++ b/tests/pretty_format_json_test.py
@@ -17,35 +17,41 @@
         parse_indent('-2')
 
 
-@pytest.mark.parametrize(('filename', 'expected_retval'), (
-    ('not_pretty_formatted_json.json', 1),
-    ('unsorted_pretty_formatted_json.json', 1),
-    ('non_ascii_pretty_formatted_json.json', 1),
-    ('pretty_formatted_json.json', 0),
-))
+@pytest.mark.parametrize(
+    ('filename', 'expected_retval'), (
+        ('not_pretty_formatted_json.json', 1),
+        ('unsorted_pretty_formatted_json.json', 1),
+        ('non_ascii_pretty_formatted_json.json', 1),
+        ('pretty_formatted_json.json', 0),
+    ),
+)
 def test_pretty_format_json(filename, expected_retval):
     ret = pretty_format_json([get_resource_path(filename)])
     assert ret == expected_retval
 
 
-@pytest.mark.parametrize(('filename', 'expected_retval'), (
-    ('not_pretty_formatted_json.json', 1),
-    ('unsorted_pretty_formatted_json.json', 0),
-    ('non_ascii_pretty_formatted_json.json', 1),
-    ('pretty_formatted_json.json', 0),
-))
+@pytest.mark.parametrize(
+    ('filename', 'expected_retval'), (
+        ('not_pretty_formatted_json.json', 1),
+        ('unsorted_pretty_formatted_json.json', 0),
+        ('non_ascii_pretty_formatted_json.json', 1),
+        ('pretty_formatted_json.json', 0),
+    ),
+)
 def test_unsorted_pretty_format_json(filename, expected_retval):
     ret = pretty_format_json(['--no-sort-keys', get_resource_path(filename)])
     assert ret == expected_retval
 
 
-@pytest.mark.parametrize(('filename', 'expected_retval'), (
-    ('not_pretty_formatted_json.json', 1),
-    ('unsorted_pretty_formatted_json.json', 1),
-    ('non_ascii_pretty_formatted_json.json', 1),
-    ('pretty_formatted_json.json', 1),
-    ('tab_pretty_formatted_json.json', 0),
-))
+@pytest.mark.parametrize(
+    ('filename', 'expected_retval'), (
+        ('not_pretty_formatted_json.json', 1),
+        ('unsorted_pretty_formatted_json.json', 1),
+        ('non_ascii_pretty_formatted_json.json', 1),
+        ('pretty_formatted_json.json', 1),
+        ('tab_pretty_formatted_json.json', 0),
+    ),
+)
 def test_tab_pretty_format_json(filename, expected_retval):
     ret = pretty_format_json(['--indent', '\t', get_resource_path(filename)])
     assert ret == expected_retval
