@@ -1,4 +1,10 @@
1−{-# LANGUAGE CPP, GADTs, DeriveGeneric, OverloadedStrings, ScopedTypeVariables, TemplateHaskell, GeneralizedNewtypeDeriving #-}
1+{-# LANGUAGE CPP #-}
2+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
5+{-# LANGUAGE OverloadedStrings #-}
6+{-# LANGUAGE ScopedTypeVariables #-}
7+{-# LANGUAGE TemplateHaskell #-}
2#if __GLASGOW_HASKELL__ >= 708
8#if __GLASGOW_HASKELL__ >= 708
3{-# LANGUAGE DataKinds #-}
9{-# LANGUAGE DataKinds #-}
@@ -10,45 +16,39 @@ module UnitTests (ioTests, tests) where
10import Prelude ()
16import Prelude ()
11import Prelude.Compat
17import Prelude.Compat
13−import Types (I, Compose3, Compose3', Approx(..))
16import Control.Applicative (Const(..))
19import Control.Applicative (Const(..))
17import Control.Monad (forM)
20import Control.Monad (forM)
18−import Data.Aeson (FromJSONKeyFunction(..), FromJSONKey(..), decode, eitherDecode, encode, genericParseJSON, genericToJSON, genericToEncoding, object, FromJSON(..), withObject, ToJSON1(..), (.=), (.:), (.:?), (.:!))
21+import Data.Aeson ((.=), (.:), (.:?), (.:!), FromJSON(..), FromJSONKeyFunction(..), FromJSONKey(..), ToJSON1(..), decode, eitherDecode, encode, genericParseJSON, genericToEncoding, genericToJSON, object, withObject)
19−import Data.Aeson.Text (encodeToTextBuilder)
20import Data.Aeson.Internal (JSONPathElement(..), formatError)
22import Data.Aeson.Internal (JSONPathElement(..), formatError)
21import Data.Aeson.TH (deriveJSON, deriveToJSON, deriveToJSON1)
23import Data.Aeson.TH (deriveJSON, deriveToJSON, deriveToJSON1)
24+import Data.Aeson.Text (encodeToTextBuilder)
22−import Data.Aeson.Types (ToJSON(..), Value, camelTo, camelTo2, defaultOptions, omitNothingFields, Options(..), SumEncoding(..))
25+import Data.Aeson.Types (Options(..), SumEncoding(..), ToJSON(..), Value, camelTo, camelTo2, defaultOptions, omitNothingFields)
23import Data.Char (toUpper)
26import Data.Char (toUpper)
24−import Data.Hashable (hash)
27+import Data.Fixed (Pico)
25−import Data.List.NonEmpty (NonEmpty(..))
28+import Data.Functor.Compose (Compose(..))
26−import Data.Functor.Compose (Compose (..))
29+import Data.Functor.Identity (Identity(..))
27import Data.Functor.Product (Product(..))
30import Data.Functor.Product (Product(..))
28import Data.Functor.Sum (Sum(..))
31import Data.Functor.Sum (Sum(..))
29−import Data.Functor.Identity (Identity (..))
32+import Data.Hashable (hash)
33+import Data.List.NonEmpty (NonEmpty(..))
30import Data.Maybe (fromMaybe)
34import Data.Maybe (fromMaybe)
31import Data.Proxy (Proxy(..))
35import Data.Proxy (Proxy(..))
32−import Data.Fixed (Pico)
36+import Data.Scientific (Scientific)
33import Data.Sequence (Seq)
37import Data.Sequence (Seq)
34import Data.Tagged (Tagged(..))
38import Data.Tagged (Tagged(..))
35import Data.Text (Text)
39import Data.Text (Text)
36import Data.Time (UTCTime)
40import Data.Time (UTCTime)
37import Data.Time.Format (parseTime)
41import Data.Time.Format (parseTime)
38import Data.Time.Locale.Compat (defaultTimeLocale)
42import Data.Time.Locale.Compat (defaultTimeLocale)
43+import Data.Word (Word8)
39import GHC.Generics (Generic)
44import GHC.Generics (Generic)
40import Test.Framework (Test, testGroup)
46import Test.Framework (Test, testGroup)
41import Test.Framework.Providers.HUnit (testCase)
47import Test.Framework.Providers.HUnit (testCase)
42import Test.HUnit (Assertion, assertFailure, assertEqual)
48import Test.HUnit (Assertion, assertFailure, assertEqual)
49+import Types (Approx(..), Compose3, Compose3', I)
43import UnitTests.NullaryConstructors (nullaryConstructors)
50import UnitTests.NullaryConstructors (nullaryConstructors)
44−import Data.Word (Word8)
45−import Data.Scientific (Scientific)
46import qualified Data.ByteString.Lazy.Char8 as L
51import qualified Data.ByteString.Lazy.Char8 as L
47−import qualified Data.Text.Lazy.Builder as TLB
48−import qualified Data.Text.Lazy.Encoding as TLE
49−import qualified Data.Text.Lazy as LT
50−import qualified Data.Text.Lazy.Encoding as LT
52import qualified Data.DList as DList
52import qualified Data.DList as DList
53import qualified Data.HashMap.Strict as HM
53import qualified Data.HashMap.Strict as HM
54import qualified Data.HashSet as HashSet
54import qualified Data.HashSet as HashSet
@@ -57,6 +57,10 @@ import qualified Data.IntSet as IntSet
57import qualified Data.Map as M
57import qualified Data.Map as M
58import qualified Data.Sequence as Seq
58import qualified Data.Sequence as Seq
59import qualified Data.Set as Set
59import qualified Data.Set as Set
60+import qualified Data.Text.Lazy as LT
61+import qualified Data.Text.Lazy.Builder as TLB
62+import qualified Data.Text.Lazy.Encoding as LT
63+import qualified Data.Text.Lazy.Encoding as TLE
60import qualified Data.Tree as Tree
64import qualified Data.Tree as Tree
61import qualified Data.Vector as Vector
65import qualified Data.Vector as Vector