Explicitly pass around the API, and run all tests under all available APIs
diff --git a/tests/primitives/test_nist.py b/tests/primitives/test_nist.py
index 1e5d239..261bbd1 100644
--- a/tests/primitives/test_nist.py
+++ b/tests/primitives/test_nist.py
@@ -60,10 +60,11 @@
             "CBCVarTxt256.rsp",
         ]
     )
-    def test_KAT(self, key, iv, plaintext, ciphertext):
+    def test_KAT(self, key, iv, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
             modes.CBC(binascii.unhexlify(iv)),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()
@@ -78,10 +79,11 @@
             "CBCMMT256.rsp",
         ]
     )
-    def test_MMT(self, key, iv, plaintext, ciphertext):
+    def test_MMT(self, key, iv, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
             modes.CBC(binascii.unhexlify(iv)),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()
@@ -107,10 +109,11 @@
             "ECBVarTxt256.rsp",
         ]
     )
-    def test_KAT(self, key, plaintext, ciphertext):
+    def test_KAT(self, key, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
-            modes.ECB()
+            modes.ECB(),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()
@@ -125,10 +128,11 @@
             "ECBMMT256.rsp",
         ]
     )
-    def test_MMT(self, key, plaintext, ciphertext):
+    def test_MMT(self, key, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
-            modes.ECB()
+            modes.ECB(),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()
@@ -154,10 +158,11 @@
             "OFBVarTxt256.rsp",
         ]
     )
-    def test_KAT(self, key, iv, plaintext, ciphertext):
+    def test_KAT(self, key, iv, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
-            modes.OFB(binascii.unhexlify(iv))
+            modes.OFB(binascii.unhexlify(iv)),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()
@@ -172,10 +177,11 @@
             "OFBMMT256.rsp",
         ]
     )
-    def test_MMT(self, key, iv, plaintext, ciphertext):
+    def test_MMT(self, key, iv, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
-            modes.OFB(binascii.unhexlify(iv))
+            modes.OFB(binascii.unhexlify(iv)),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()
@@ -201,10 +207,11 @@
             "CFB128VarTxt256.rsp",
         ]
     )
-    def test_KAT(self, key, iv, plaintext, ciphertext):
+    def test_KAT(self, key, iv, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
-            modes.CFB(binascii.unhexlify(iv))
+            modes.CFB(binascii.unhexlify(iv)),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()
@@ -219,10 +226,11 @@
             "CFB128MMT256.rsp",
         ]
     )
-    def test_MMT(self, key, iv, plaintext, ciphertext):
+    def test_MMT(self, key, iv, plaintext, ciphertext, api):
         cipher = BlockCipher(
             ciphers.AES(binascii.unhexlify(key)),
-            modes.CFB(binascii.unhexlify(iv))
+            modes.CFB(binascii.unhexlify(iv)),
+            api
         )
         actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
         actual_ciphertext += cipher.finalize()