diff --git a/OpenSSL/test/test_crypto.py b/OpenSSL/test/test_crypto.py
index e5c7591..c9fc12b 100644
--- a/OpenSSL/test/test_crypto.py
+++ b/OpenSSL/test/test_crypto.py
@@ -891,6 +891,44 @@
         self.assertEqual(type(certificate), X509)
 
 
+    def test_get_version_wrong_args(self):
+        """
+        L{X509.get_version} raises L{TypeError} if invoked with any arguments.
+        """
+        cert = X509()
+        self.assertRaises(TypeError, cert.get_version, None)
+
+
+    def test_set_version_wrong_args(self):
+        """
+        L{X509.set_version} raises L{TypeError} if invoked with the wrong number
+        of arguments or an argument not of type C{int}.
+        """
+        cert = X509()
+        self.assertRaises(TypeError, cert.set_version)
+        self.assertRaises(TypeError, cert.set_version, None)
+        self.assertRaises(TypeError, cert.set_version, 1, None)
+
+
+    def test_version(self):
+        """
+        L{X509.set_version} sets the certificate version number.
+        L{X509.get_version} retrieves it.
+        """
+        cert = X509()
+        cert.set_version(1234)
+        self.assertEquals(cert.get_version(), 1234)
+
+
+    def test_get_serial_number_wrong_args(self):
+        """
+        L{X509.get_serial_number} raises L{TypeError} if invoked with any
+        arguments.
+        """
+        cert = X509()
+        self.assertRaises(TypeError, cert.get_serial_number, None)
+
+
     def test_serial_number(self):
         """
         The serial number of an L{X509Type} can be retrieved and modified with
