packages feed

turtle-options-0.1.0.4: test/Quality/Tests.hs

{-# 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
  ]