convert-units-0: test/Data/Units/NonStd/AngleSpec.hs
module Data.Units.NonStd.AngleSpec where
import Test.Hspec
import qualified Data.Units.SI.Derived.Angle as SI
import qualified Data.Units.SI.NonStd.Angle as SI
import qualified Data.Units.AngleSI.System as A
import qualified Data.Units.AngleSI.NonStd.Angle as A
import Data.Units.Base.ConvertProp
spec :: Spec
spec = do
describe "Angle" $ do
toFromSpec @SI.Radian @Double
toFromSpec @SI.Degree @Double
toFromSpec @SI.Turn @Double
toFromSpec @SI.Gradian @Double
toFromSpec @A.Radian @Double
toFromSpec @A.Degree @Double
toFromSpec @A.Turn @Double
toFromSpec @A.Gradian @Double
fromToAssert @Double (SI.Radian pi) (SI.Degree 180)
fromToAssert @Double (SI.Degree 90) (SI.Gradian 100)
fromToAssert @Double (SI.Turn (1 / 4)) (SI.Degree 90)
fromToAssert @Double (SI.Radian (pi/4)) (SI.Turn (1 / 8))
fromToAssert @Double (A.Radian pi) (A.Degree 180)
fromToAssert @Double (A.Degree 90) (A.Gradian 100)
fromToAssert @Double (A.Turn (1 / 4)) (A.Degree 90)
fromToAssert @Double (A.Radian (pi/4)) (A.Turn (1 / 8))