packages feed

turtle-options 0.1.0.3 → 0.1.0.4

raw patch · 5 files changed

+121/−1 lines, 5 files

Files

+ test/Percentage/Tests.hs view
@@ -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+  ]
+ test/Quality/Tests.hs view
@@ -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+  ]
+ test/Scale/Tests.hs view
@@ -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+  ]
+ test/Timecode/Tests.hs view
@@ -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+  ]
turtle-options.cabal view
@@ -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