{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE PartialTypeSignatures #-} module Main where import Data.Typeable (Proxy(..)) import Test.Hspec import Test.Hspec.QuickCheck import PropMime import Instances () import BitMEX.Model import BitMEX.MimeTypes main :: IO () main = hspec $ modifyMaxSize (const 10) $ do describe "JSON instances" $ do pure () propMimeEq MimeJSON (Proxy :: Proxy APIKey) propMimeEq MimeJSON (Proxy :: Proxy AccessToken) propMimeEq MimeJSON (Proxy :: Proxy Affiliate) propMimeEq MimeJSON (Proxy :: Proxy Announcement) propMimeEq MimeJSON (Proxy :: Proxy Chat) propMimeEq MimeJSON (Proxy :: Proxy ChatChannels) propMimeEq MimeJSON (Proxy :: Proxy ConnectedUsers) propMimeEq MimeJSON (Proxy :: Proxy Error) propMimeEq MimeJSON (Proxy :: Proxy ErrorError) propMimeEq MimeJSON (Proxy :: Proxy Execution) propMimeEq MimeJSON (Proxy :: Proxy Funding) propMimeEq MimeJSON (Proxy :: Proxy IndexComposite) propMimeEq MimeJSON (Proxy :: Proxy InlineResponse200) propMimeEq MimeJSON (Proxy :: Proxy Instrument) propMimeEq MimeJSON (Proxy :: Proxy InstrumentInterval) propMimeEq MimeJSON (Proxy :: Proxy Insurance) propMimeEq MimeJSON (Proxy :: Proxy Leaderboard) propMimeEq MimeJSON (Proxy :: Proxy Liquidation) propMimeEq MimeJSON (Proxy :: Proxy Margin) propMimeEq MimeJSON (Proxy :: Proxy Notification) propMimeEq MimeJSON (Proxy :: Proxy Order) propMimeEq MimeJSON (Proxy :: Proxy OrderBook) propMimeEq MimeJSON (Proxy :: Proxy OrderBookL2) propMimeEq MimeJSON (Proxy :: Proxy Position) propMimeEq MimeJSON (Proxy :: Proxy Quote) propMimeEq MimeJSON (Proxy :: Proxy Settlement) propMimeEq MimeJSON (Proxy :: Proxy Stats) propMimeEq MimeJSON (Proxy :: Proxy StatsHistory) propMimeEq MimeJSON (Proxy :: Proxy StatsUSD) propMimeEq MimeJSON (Proxy :: Proxy Trade) propMimeEq MimeJSON (Proxy :: Proxy TradeBin) propMimeEq MimeJSON (Proxy :: Proxy Transaction) propMimeEq MimeJSON (Proxy :: Proxy User) propMimeEq MimeJSON (Proxy :: Proxy UserCommission) propMimeEq MimeJSON (Proxy :: Proxy UserPreferences) propMimeEq MimeJSON (Proxy :: Proxy Wallet) propMimeEq MimeJSON (Proxy :: Proxy XAny)