Color-0.1.2: tests/Graphics/Color/Illuminant/CIE1964Spec.hs
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
module Graphics.Color.Illuminant.CIE1964Spec (spec) where
import Graphics.Color.Space.Common
import Graphics.Color.Illuminant.Common
import Graphics.Color.Illuminant.CIE1964
spec :: Spec
spec =
describe "Wikipedia" $ do
describe "IlluminantSpec" $ do
illuminantSpec @'A
illuminantSpec @'B
illuminantSpec @'C
illuminantSpec @'D50
illuminantSpec @'D55
illuminantSpec @'D60
illuminantSpec @'D65
illuminantSpec @'D75
illuminantSpec @'E
illuminantSpec @'FL1
illuminantSpec @'FL2
illuminantSpec @'FL3
illuminantSpec @'FL4
illuminantSpec @'FL5
illuminantSpec @'FL6
illuminantSpec @'FL7
illuminantSpec @'FL8
illuminantSpec @'FL9
illuminantSpec @'FL10
illuminantSpec @'FL11
illuminantSpec @'FL12
describe "Derived Classes" $ do
let is = [A .. FL12]
it "Bounded" $ [minBound .. maxBound] `shouldBe` is
it "Enum" $ forM_ is $ \ i -> toEnum (fromEnum i) `shouldBe` i
it "Read . Show" $ forM_ is $ \ i -> read (show i) `shouldBe` i
it "Read . Show" $ read (show is) `shouldBe` (is :: [CIE1964])