diff --git a/test/Percentage/Tests.hs b/test/Percentage/Tests.hs
new file mode 100644
--- /dev/null
+++ b/test/Percentage/Tests.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE FlexibleContexts #-}
+module Percentage.Tests
+( tests
+) where
+
+import Test.HUnit
+import Text.Parsec (parse)
+
+import Turtle.Options.Percentage (percentage)
+
+percentageTest :: Test
+percentageTest = TestList $ map testCase cases
+  where
+    cases = 
+      [ ("23%", 0.23)
+      ]
+    testCase (str, res) = TestCase $ case (parse percentage "Test" str) of
+      Left err -> assertFailure $ show err
+      Right r -> assertEqual "Percentage parsing" res r
+
+tests :: Test
+tests = TestList 
+  [ percentageTest
+  ]
diff --git a/test/Quality/Tests.hs b/test/Quality/Tests.hs
new file mode 100644
--- /dev/null
+++ b/test/Quality/Tests.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE FlexibleContexts #-}
+module Quality.Tests
+( tests
+) where
+
+import Test.HUnit
+import Text.Parsec (parse)
+
+import Turtle.Options.Quality (quality)
+
+qualityTest :: Test
+qualityTest = TestList $ map testCase cases
+  where
+    cases = 
+      [ ("verylow", 0.1)
+      , ("low", 0.2)
+      , ("mediumlow", 0.35)
+      , ("medium", 0.5)
+      , ("mediumhigh", 0.65)
+      , ("high", 0.8)
+      , ("veryhigh", 0.9)
+      , ("best", 1)
+      , ("15%", 0.15)
+      ]
+    testCase (str, res) = TestCase $ case (parse quality "Test" str) of
+      Left err -> assertFailure $ show err
+      Right r -> assertEqual "Quality parsing" res r
+
+tests :: Test
+tests = TestList 
+  [ qualityTest
+  ]
diff --git a/test/Scale/Tests.hs b/test/Scale/Tests.hs
new file mode 100644
--- /dev/null
+++ b/test/Scale/Tests.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE FlexibleContexts #-}
+module Scale.Tests
+( tests
+) where
+
+import Test.HUnit
+import Text.Parsec (parse)
+
+import Turtle.Options.Scale (Scale(..), scale)
+
+scaleTest :: Test
+scaleTest = TestList $ map testCase cases
+  where
+    cases = 
+      [ ("5", Percentage 5)
+      , ("10%", Percentage 0.1)
+      , ("480x320", Size (480, 320))
+      , ("x480", Height 480)
+      , ("x320", Height 320)
+      ]
+    testCase (str, res) = TestCase $ case (parse scale "Test" str) of
+      Left err -> assertFailure $ show err
+      Right r -> assertEqual "Scale parsing" res r
+
+tests :: Test
+tests = TestList 
+  [ scaleTest
+  ]
diff --git a/test/Timecode/Tests.hs b/test/Timecode/Tests.hs
new file mode 100644
--- /dev/null
+++ b/test/Timecode/Tests.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE FlexibleContexts #-}
+module Timecode.Tests
+( tests
+) where
+
+import Test.HUnit
+import Text.Parsec (parse)
+
+import Turtle.Options.Timecode (Timecode(..), timecode)
+
+timecodeTest :: Test
+timecodeTest = TestList $ map testCase cases
+  where
+    cases = 
+      [ ("3", Timecode 0 0 3 0)
+      , ("75", Timecode 0 1 15 0)
+      , ("17:12", Timecode 0 17 12 0)
+      , ("83:23", Timecode 1 23 23 0)
+      , ("54:32:10", Timecode 54 32 10 0)
+      , ("43.7", Timecode 0 0 43 700)
+      , ("4:13.85", Timecode 0 4 13 850)
+      , ("7:4:13.437", Timecode 7 4 13 437)
+      , ("5.2150", Timecode 0 0 7 150)
+      ]
+    testCase (str, res) = TestCase $ case (parse timecode "Test" str) of
+      Left err -> assertFailure $ show err
+      Right r -> assertEqual "Timecode parsing" res r
+
+tests :: Test
+tests = TestList 
+  [ timecodeTest
+  ]
diff --git a/turtle-options.cabal b/turtle-options.cabal
--- a/turtle-options.cabal
+++ b/turtle-options.cabal
@@ -1,5 +1,5 @@
 name:                turtle-options
-version:             0.1.0.3
+version:             0.1.0.4
 synopsis:            Collection of command line options and parsers for these options
 description:         Please see README.md
 homepage:            https://github.com/elaye/turtle-options#readme
@@ -45,6 +45,10 @@
                      , HUnit
                      , parsec
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N
+  other-modules:       Scale.Tests
+                     , Quality.Tests
+                     , Percentage.Tests
+                     , Timecode.Tests
   default-language:    Haskell2010
 
 source-repository head
