Simplified code in the test loaders and improved branch coverage in the x509 tests
diff --git a/tests/test_x509.py b/tests/test_x509.py
index 131954c..df315cc 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -897,44 +897,43 @@
         assert isinstance(cert.signature_hash_algorithm, hashes.SHA1)
         public_key = cert.public_key()
         assert isinstance(public_key, dsa.DSAPublicKey)
-        if isinstance(public_key, dsa.DSAPublicKeyWithSerialization):
-            num = public_key.public_numbers()
-            assert num.y == int(
-                "4c08bfe5f2d76649c80acf7d431f6ae2124b217abc8c9f6aca776ddfa94"
-                "53b6656f13e543684cd5f6431a314377d2abfa068b7080cb8ddc065afc2"
-                "dea559f0b584c97a2b235b9b69b46bc6de1aed422a6f341832618bcaae2"
-                "198aba388099dafb05ff0b5efecb3b0ae169a62e1c72022af50ae68af3b"
-                "033c18e6eec1f7df4692c456ccafb79cc7e08da0a5786e9816ceda651d6"
-                "1b4bb7b81c2783da97cea62df67af5e85991fdc13aff10fc60e06586386"
-                "b96bb78d65750f542f86951e05a6d81baadbcd35a2e5cad4119923ae6a2"
-                "002091a3d17017f93c52970113cdc119970b9074ca506eac91c3dd37632"
-                "5df4af6b3911ef267d26623a5a1c5df4a6d13f1c", 16
-            )
-            assert num.parameter_numbers.g == int(
-                "4b7ced71dc353965ecc10d441a9a06fc24943a32d66429dd5ef44d43e67"
-                "d789d99770aec32c0415dc92970880872da45fef8dd1e115a3e4801387b"
-                "a6d755861f062fd3b6e9ea8e2641152339b828315b1528ee6c7b79458d2"
-                "1f3db973f6fc303f9397174c2799dd2351282aa2d8842c357a73495bbaa"
-                "c4932786414c55e60d73169f5761036fba29e9eebfb049f8a3b1b7cee6f"
-                "3fbfa136205f130bee2cf5b9c38dc1095d4006f2e73335c07352c64130a"
-                "1ab2b89f13b48f628d3cc3868beece9bb7beade9f830eacc6fa241425c0"
-                "b3fcc0df416a0c89f7bf35668d765ec95cdcfbe9caff49cfc156c668c76"
-                "fa6247676a6d3ac945844a083509c6a1b436baca", 16
-            )
-            assert num.parameter_numbers.p == int(
-                "bfade6048e373cd4e48b677e878c8e5b08c02102ae04eb2cb5c46a523a3"
-                "af1c73d16b24f34a4964781ae7e50500e21777754a670bd19a7420d6330"
-                "84e5556e33ca2c0e7d547ea5f46a07a01bf8669ae3bdec042d9b2ae5e6e"
-                "cf49f00ba9dac99ab6eff140d2cedf722ee62c2f9736857971444c25d0a"
-                "33d2017dc36d682a1054fe2a9428dda355a851ce6e6d61e03e419fd4ca4"
-                "e703313743d86caa885930f62ed5bf342d8165627681e9cc3244ba72aa2"
-                "2148400a6bbe80154e855d042c9dc2a3405f1e517be9dea50562f56da93"
-                "f6085f844a7e705c1f043e65751c583b80d29103e590ccb26efdaa0893d"
-                "833e36468f3907cfca788a3cb790f0341c8a31bf", 16
-            )
-            assert num.parameter_numbers.q == int(
-                "822ff5d234e073b901cf5941f58e1f538e71d40d", 16
-            )
+        num = public_key.public_numbers()
+        assert num.y == int(
+            "4c08bfe5f2d76649c80acf7d431f6ae2124b217abc8c9f6aca776ddfa94"
+            "53b6656f13e543684cd5f6431a314377d2abfa068b7080cb8ddc065afc2"
+            "dea559f0b584c97a2b235b9b69b46bc6de1aed422a6f341832618bcaae2"
+            "198aba388099dafb05ff0b5efecb3b0ae169a62e1c72022af50ae68af3b"
+            "033c18e6eec1f7df4692c456ccafb79cc7e08da0a5786e9816ceda651d6"
+            "1b4bb7b81c2783da97cea62df67af5e85991fdc13aff10fc60e06586386"
+            "b96bb78d65750f542f86951e05a6d81baadbcd35a2e5cad4119923ae6a2"
+            "002091a3d17017f93c52970113cdc119970b9074ca506eac91c3dd37632"
+            "5df4af6b3911ef267d26623a5a1c5df4a6d13f1c", 16
+        )
+        assert num.parameter_numbers.g == int(
+            "4b7ced71dc353965ecc10d441a9a06fc24943a32d66429dd5ef44d43e67"
+            "d789d99770aec32c0415dc92970880872da45fef8dd1e115a3e4801387b"
+            "a6d755861f062fd3b6e9ea8e2641152339b828315b1528ee6c7b79458d2"
+            "1f3db973f6fc303f9397174c2799dd2351282aa2d8842c357a73495bbaa"
+            "c4932786414c55e60d73169f5761036fba29e9eebfb049f8a3b1b7cee6f"
+            "3fbfa136205f130bee2cf5b9c38dc1095d4006f2e73335c07352c64130a"
+            "1ab2b89f13b48f628d3cc3868beece9bb7beade9f830eacc6fa241425c0"
+            "b3fcc0df416a0c89f7bf35668d765ec95cdcfbe9caff49cfc156c668c76"
+            "fa6247676a6d3ac945844a083509c6a1b436baca", 16
+        )
+        assert num.parameter_numbers.p == int(
+            "bfade6048e373cd4e48b677e878c8e5b08c02102ae04eb2cb5c46a523a3"
+            "af1c73d16b24f34a4964781ae7e50500e21777754a670bd19a7420d6330"
+            "84e5556e33ca2c0e7d547ea5f46a07a01bf8669ae3bdec042d9b2ae5e6e"
+            "cf49f00ba9dac99ab6eff140d2cedf722ee62c2f9736857971444c25d0a"
+            "33d2017dc36d682a1054fe2a9428dda355a851ce6e6d61e03e419fd4ca4"
+            "e703313743d86caa885930f62ed5bf342d8165627681e9cc3244ba72aa2"
+            "2148400a6bbe80154e855d042c9dc2a3405f1e517be9dea50562f56da93"
+            "f6085f844a7e705c1f043e65751c583b80d29103e590ccb26efdaa0893d"
+            "833e36468f3907cfca788a3cb790f0341c8a31bf", 16
+        )
+        assert num.parameter_numbers.q == int(
+            "822ff5d234e073b901cf5941f58e1f538e71d40d", 16
+        )
 
     @pytest.mark.parametrize(
         ("path", "loader_func"),
@@ -978,17 +977,16 @@
         assert isinstance(cert.signature_hash_algorithm, hashes.SHA384)
         public_key = cert.public_key()
         assert isinstance(public_key, ec.EllipticCurvePublicKey)
-        if isinstance(public_key, ec.EllipticCurvePublicKeyWithSerialization):
-            num = public_key.public_numbers()
-            assert num.x == int(
-                "dda7d9bb8ab80bfb0b7f21d2f0bebe73f3335d1abc34eadec69bbcd095f"
-                "6f0ccd00bba615b51467e9e2d9fee8e630c17", 16
-            )
-            assert num.y == int(
-                "ec0770f5cf842e40839ce83f416d3badd3a4145936789d0343ee10136c7"
-                "2deae88a7a16bb543ce67dc23ff031ca3e23e", 16
-            )
-            assert isinstance(num.curve, ec.SECP384R1)
+        num = public_key.public_numbers()
+        assert num.x == int(
+            "dda7d9bb8ab80bfb0b7f21d2f0bebe73f3335d1abc34eadec69bbcd095f"
+            "6f0ccd00bba615b51467e9e2d9fee8e630c17", 16
+        )
+        assert num.y == int(
+            "ec0770f5cf842e40839ce83f416d3badd3a4145936789d0343ee10136c7"
+            "2deae88a7a16bb543ce67dc23ff031ca3e23e", 16
+        )
+        assert isinstance(num.curve, ec.SECP384R1)
 
     def test_load_ecdsa_no_named_curve(self, backend):
         _skip_curve_unsupported(backend, ec.SECP256R1())
diff --git a/tests/utils.py b/tests/utils.py
index 46d9364..5a3f475 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -396,10 +396,6 @@
             continue
         elif line.startswith("[mod = L=3072"):
             continue
-
-        if not reading_key_data:
-            continue
-
         elif reading_key_data:
             if line.startswith("P"):
                 vectors.append({'p': int(line.split("=")[1], 16)})