diff --git a/tests/Tree.hs b/tests/Tree.hs
new file mode 100644
--- /dev/null
+++ b/tests/Tree.hs
@@ -0,0 +1,16 @@
+module Tree(test) where
+
+import Network.Routing.Tree
+import Test.Tasty
+import Test.Tasty.QuickCheck
+import Unsafe.Coerce
+
+mkTestTree :: Int -> Tree
+mkTestTree i = foldr cons Tip $ map unsafeCoerce [0..i]
+
+testTreeToList :: Int -> Tree -> [Int]
+testTreeToList l t = foldr (\i b -> unsafeCoerce (t `index` i) : b) [] [0..l]
+
+test :: TestTree
+test = testProperty "Data.Apiary.Tree" $ \len ->
+    testTreeToList len (mkTestTree len) == [0..len]
diff --git a/web-routing.cabal b/web-routing.cabal
--- a/web-routing.cabal
+++ b/web-routing.cabal
@@ -1,5 +1,5 @@
 name:                web-routing
-version:             0.1.1
+version:             0.1.2
 synopsis:            simple routing library
 -- description:         
 license:             MIT
@@ -39,6 +39,7 @@
   type:                exitcode-stdio-1.0
   ghc-options:         -threaded
   main-is:             tasty.hs
+  other-modules:       Tree
   hs-source-dirs:      tests, src
   build-depends:       base             >=4.6  && <4.8
                      , tasty            >=0.10 && <0.11
