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 +24/−0
- test/Quality/Tests.hs +32/−0
- test/Scale/Tests.hs +28/−0
- test/Timecode/Tests.hs +32/−0
- turtle-options.cabal +5/−1
+ 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