splot-0.2.7: Tools/SPlotTest.hs
module Tools.SPlotTest where
import Test.HUnit
import Data.Colour
import Data.Colour.SRGB
import Tools.ColorMap
import Data.Map as M
import System.IO(stderr)
import System.Exit
colorCyclingTests = TestList [
cycleColor defaultColorMap "bar" ~?= (base, colorMap "bar")
,cycleColor (colorMap "foo") "bar" ~?= (nextColor, augmentedColorMap "bar")
,cycleColor (colorMap "foo") "baz" ~?= (nextColor, augmentedColorMap "baz")
]
where
base = (sRGB24 128 128 128)
nextColor = sRGB24 (128+7) (128+17) (128+23)
nextNextColor = sRGB24 (128+7+7) (128+17+17) (128+23+23)
colorsAssoc name = [(name,(sRGB24 128 128 128))]
colorMap name = ColorMap (M.fromList (colorsAssoc name)) nextColor
augmentedColorMap name = augment (colorMap "foo") (name, nextNextColor)
splotTests = TestList [
colorCyclingTests
]
runAllTests tests = do counts <- runTest tests
case (errors counts + failures counts) of
0 -> return ExitSuccess
n -> return (ExitFailure n)
runTest :: Test -> IO Counts
runTest t = do (counts, _) <- runTestText (putTextToHandle stderr False) t
return counts