mixed-types-num-0.2.0.1: test/Numeric/MixedTypes/LiteralsSpec.hs
{-|
Module : Numeric.MixedType.LiteralsSpec
Description : hspec tests for Literals
Copyright : (c) Michal Konecny
License : BSD3
Maintainer : mikkonecny@gmail.com
Stability : experimental
Portability : portable
-}
module Numeric.MixedTypes.LiteralsSpec (spec) where
import MixedTypesNumPrelude
import qualified Prelude as P
-- import Text.Printf
import Control.Exception (evaluate)
import Test.Hspec
-- import qualified Test.QuickCheck as QC
-- import qualified Test.Hspec.SmallCheck as SC
spec :: Spec
spec = do
specCanBeInteger tInt
specCanBeInteger tInteger
specConversions
specConversions :: Spec
specConversions =
do
specConversion tInt tInteger integer int
it "converting large integer to int throws exception" $ do
(evaluate $ int (integer (maxBound :: Int) P.+ 1)) `shouldThrow` anyException
specConversion tInt tRational rational (int . round)
specConversion tInteger tRational rational round
specConversion tDouble tRational toRational double