diff --git a/dequeue.cabal b/dequeue.cabal
--- a/dequeue.cabal
+++ b/dequeue.cabal
@@ -1,8 +1,8 @@
 Build-Type: Simple
 Name: dequeue
 Category: Data Structures
-Version: 0.1.9
-Cabal-Version: >= 1.2
+Version: 0.1.10
+Cabal-Version: >= 1.9.2
 Synopsis: A typeclass and an implementation for double-ended queues.
 Description:
     A typeclass for double-ended queues, and an implementation of Banker's
@@ -10,7 +10,7 @@
     Structures.
 License: BSD3
 License-File: LICENSE
-Copyright: (c) 2009-2010 Henry Bucklow
+Copyright: (c) 2009-2015 Henry Bucklow
 Author: Henry Bucklow
 Maintainer: Henry Bucklow <henry@elsie.org.uk>
 Tested-With: GHC==6.12
@@ -21,10 +21,10 @@
     Hs-Source-Dirs: src
     GHC-Options: -Wall
 
-Executable dequeue-test
-    Buildable: False
-    Main-Is: Tests.hs
-    Hs-Source-Dirs: src
-    Build-Depends: base < 5, QuickCheck
+Test-Suite dequeue-test
+    type: detailed-0.9
+    Test-Module: Tests
+    Hs-Source-Dirs: test
+    Build-Depends: base < 5, dequeue, Cabal, cabal-test-quickcheck
     GHC-Options: -Wall
 
diff --git a/dist/build/dequeue-testStub/dequeue-testStub-tmp/dequeue-testStub.hs b/dist/build/dequeue-testStub/dequeue-testStub-tmp/dequeue-testStub.hs
new file mode 100644
--- /dev/null
+++ b/dist/build/dequeue-testStub/dequeue-testStub-tmp/dequeue-testStub.hs
@@ -0,0 +1,5 @@
+module Main ( main ) where
+import Distribution.Simple.Test ( stubMain )
+import Tests ( tests )
+main :: IO ()
+main = stubMain tests
diff --git a/src/Tests.hs b/src/Tests.hs
deleted file mode 100644
--- a/src/Tests.hs
+++ /dev/null
@@ -1,25 +0,0 @@
-module Main where
-
-import Data.Dequeue
-import Text.Printf
-import Test.QuickCheck
-
-tests :: [(String, IO ())]
-tests = [
-    ("pushpop_front_bq", quickCheck prop_pushpop_front_bq),
-    ("pushpop_back_bq", quickCheck prop_pushpop_back_bq),
-    ("push_front_bq", quickCheck prop_push_front_bq),
-    ("push_back_bq", quickCheck prop_push_back_bq),
-    ("takeFront_bq", quickCheck prop_takeFront_bq),
-    ("takeBack_bq", quickCheck prop_takeBack_bq),
-    ("length_toList_bq", quickCheck prop_length_toList_bq),
-    ("fromList_toList_bq", quickCheck prop_fromList_toList_bq),
-    ("push_back_bq_balance", quickCheck prop_push_back_bq_balance),
-    ("push_front_bq_balance", quickCheck prop_push_front_bq_balance),
-    ("pop_front_bq_balance", quickCheck prop_pop_front_bq_balance),
-    ("pop_back_bq_balance", quickCheck prop_pop_back_bq_balance),
-    ("read_show_bq", quickCheck prop_read_show_bq)]
-
-main :: IO ()
-main = mapM_ (\(s,a) -> printf "%-25s: " s >> a) tests
-
diff --git a/test/Tests.hs b/test/Tests.hs
new file mode 100644
--- /dev/null
+++ b/test/Tests.hs
@@ -0,0 +1,21 @@
+module Tests (tests) where
+
+import Data.Dequeue
+import Distribution.TestSuite.QuickCheck
+
+tests :: IO [Test]
+tests = return [
+    testProperty "pushpop_front_bq" prop_pushpop_front_bq,
+    testProperty "pushpop_back_bq" prop_pushpop_back_bq,
+    testProperty "push_front_bq" prop_push_front_bq,
+    testProperty "push_back_bq" prop_push_back_bq,
+    testProperty "takeFront_bq" prop_takeFront_bq,
+    testProperty "takeBack_bq" prop_takeBack_bq,
+    testProperty "length_toList_bq" prop_length_toList_bq,
+    testProperty "fromList_toList_bq" prop_fromList_toList_bq,
+    testProperty "push_back_bq_balance" prop_push_back_bq_balance,
+    testProperty "push_front_bq_balance" prop_push_front_bq_balance,
+    testProperty "pop_front_bq_balance" prop_pop_front_bq_balance,
+    testProperty "pop_back_bq_balance" prop_pop_back_bq_balance,
+    testProperty "read_show_bq" prop_read_show_bq]
+
