diff --git a/tests/test_integers.py b/tests/test_integers.py
new file mode 100644
index 0000000..1e318ab
--- /dev/null
+++ b/tests/test_integers.py
@@ -0,0 +1,36 @@
+'''Tests integer operations.'''
+
+import unittest
+
+import rsa
+
+class IntegerTest(unittest.TestCase):
+
+    def setUp(self):
+        (self.pub, self.priv) = rsa.newkeys(64)
+
+    def test_enc_dec(self):
+
+        message = 42
+        print "\tMessage:   %d" % message
+
+        encrypted = rsa.encrypt_int(message, self.pub['e'], self.pub['n'])
+        print "\tEncrypted: %d" % encrypted
+
+        decrypted = rsa.decrypt_int(encrypted, self.priv['d'], self.pub['n'])
+        print "\tDecrypted: %d" % decrypted
+
+        self.assertEqual(message, decrypted)
+
+    def test_sign_verify(self):
+
+        message = 42
+
+        signed = rsa.encrypt_int(message,self.priv['d'], self.pub['n'])
+        print "\tSigned:    %d" % signed
+
+        verified = rsa.decrypt_int(signed, self.pub['e'],self.pub['n'])
+        print "\tVerified:  %d" % verified
+
+        self.assertEqual(message, verified)
+
diff --git a/tests/test_strings.py b/tests/test_strings.py
new file mode 100644
index 0000000..c5803e4
--- /dev/null
+++ b/tests/test_strings.py
@@ -0,0 +1,38 @@
+'''Tests string operations.'''
+
+import unittest
+
+import rsa
+
+class StringTest(unittest.TestCase):
+
+    def setUp(self):
+        (self.pub, self.priv) = rsa.newkeys(64)
+
+    def test_enc_dec(self):
+
+        # TODO: test with unicode strings and non-ascii chars
+        message = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+        print "\tMessage:   %s" % message
+
+        encrypted = rsa.encrypt(message, self.pub)
+        print "\tEncrypted: %s" % encrypted
+
+        decrypted = rsa.decrypt(encrypted, self.priv)
+        print "\tDecrypted: %s" % decrypted
+
+        self.assertEqual(message, decrypted)
+
+    def test_sign_verify(self):
+
+        # TODO: test with unicode strings and non-ascii chars
+        message = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
+        signed = rsa.sign(message, self.priv)
+        print "\tSigned:    %s" % signed
+
+        verified = rsa.verify(signed, self.pub)
+        print "\tVerified:  %s" % verified
+
+        self.assertEqual(message, verified)
+
