diagrams-lib-1.4.0.1: test/Diagrams/Test/Trail.hs
{-# LANGUAGE FlexibleContexts #-}
module Diagrams.Test.Trail where
import Diagrams.Prelude
import Instances
import Test.Tasty
import Test.Tasty.QuickCheck
tests :: TestTree
tests = testGroup "Trail"
[ let wrap :: Trail' Line V2 Double -> Located (Trail V2 Double)
wrap = (`at` origin) . wrapLine
in
testProperty "unfixTrail . fixTrail == id for lines" $
\l -> (unfixTrail . fixTrail $ wrap l) =~ (wrap l)
, testProperty "glueLine . cutLoop == id" $
\loop -> (glueLine . cutLoop $ loop) =~ (loop :: Trail' Loop V2 Double)
, testProperty "trailOffset == sumV . trailOffsets" $
\t -> trailOffset t =~ (sumV . trailOffsets $ (t :: Trail V2 Double))
, testProperty "reverseTrail . reverseTrail == id" $
\t -> (reverseTrail . reverseTrail $ t) =~ (t :: Trail V2 Double)
, testProperty "reverseLocTrail . reverseLocTrail == id" $
\t -> (reverseLocTrail . reverseLocTrail $ t) =~
(t :: Located (Trail V2 Double))
, testProperty "reverseLine . reverseLine == id" $
\t -> (reverseLine . reverseLine $ t) =~
(t :: Trail' Line V2 Double)
, testProperty "reverseLocLine . reverseLocLine == id" $
\t -> (reverseLocLine . reverseLocLine $ t) =~
(t :: Located (Trail' Line V2 Double))
, testProperty "reverseLoop . reverseLoop == id" $
\t -> (reverseLoop . reverseLoop $ t) =~
(t :: Trail' Loop V2 Double)
, testProperty "reverseLocLoop . reverseLocLoop == id" $
\t -> (reverseLocLoop . reverseLocLoop $ t) =~
(t :: Located (Trail' Loop V2 Double))
]