{-# LANGUAGE ImportQualifiedPost #-} module Main where import System.IO ( BufferMode (LineBuffering), hSetBuffering, hSetEncoding, stdout, utf8, ) import Test.Cardano.Data.Map.NonEmpty qualified as Map.NonEmpty import Test.Cardano.Data.MapExtrasSpec (mapExtrasSpec) import Test.Cardano.Data.OMap.StrictSpec qualified as OMap import Test.Cardano.Data.OSet.StrictSpec qualified as OSet import Test.Cardano.Data.Set.NonEmpty qualified as Set.NonEmpty import Test.Cardano.Data.SimpleOMap.StrictSpec qualified as SimpleOMap import Test.Hspec import Test.Hspec.Runner conf :: Config conf :: Config conf = Config defaultConfig { configTimes = True , configColorMode = ColorAlways } spec :: Spec spec :: Spec spec = String -> Spec -> Spec forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "cardano-data" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do Spec mapExtrasSpec Spec Set.NonEmpty.spec Spec OSet.spec Spec Map.NonEmpty.spec Spec OMap.spec Spec SimpleOMap.spec main :: IO () IO () main = do Handle -> BufferMode -> IO () hSetBuffering Handle stdout BufferMode LineBuffering Handle -> TextEncoding -> IO () hSetEncoding Handle stdout TextEncoding utf8 Config -> Spec -> IO () hspecWith Config conf Spec spec