{-# 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 G4fClient.Model import G4fClient.MimeTypes main :: IO () main = hspec $ modifyMaxSize (const 10) $ do describe "JSON instances" $ do pure () propMimeEq MimeJSON (Proxy :: Proxy ApiKey) propMimeEq MimeJSON (Proxy :: Proxy AudioResponseModel) propMimeEq MimeJSON (Proxy :: Proxy AudioSpeechConfig) propMimeEq MimeJSON (Proxy :: Proxy ChatCompletion) propMimeEq MimeJSON (Proxy :: Proxy ChatCompletionChoice) propMimeEq MimeJSON (Proxy :: Proxy ChatCompletionMessage) propMimeEq MimeJSON (Proxy :: Proxy ChatCompletionsConfig) propMimeEq MimeJSON (Proxy :: Proxy CompletionTokenDetails) propMimeEq MimeJSON (Proxy :: Proxy Content) propMimeEq MimeJSON (Proxy :: Proxy ContentPart) propMimeEq MimeJSON (Proxy :: Proxy ErrorResponseMessageModel) propMimeEq MimeJSON (Proxy :: Proxy ErrorResponseModel) propMimeEq MimeJSON (Proxy :: Proxy FileResponseModel) propMimeEq MimeJSON (Proxy :: Proxy HTTPValidationError) propMimeEq MimeJSON (Proxy :: Proxy Image) propMimeEq MimeJSON (Proxy :: Proxy ImageGenerationConfig) propMimeEq MimeJSON (Proxy :: Proxy ImagesResponse) propMimeEq MimeJSON (Proxy :: Proxy Message) propMimeEq MimeJSON (Proxy :: Proxy ModelResponseModel) propMimeEq MimeJSON (Proxy :: Proxy PromptTokenDetails) propMimeEq MimeJSON (Proxy :: Proxy ProviderResponseDetailModel) propMimeEq MimeJSON (Proxy :: Proxy ProviderResponseModel) propMimeEq MimeJSON (Proxy :: Proxy Stop) propMimeEq MimeJSON (Proxy :: Proxy ToolCallModel) propMimeEq MimeJSON (Proxy :: Proxy ToolFunctionModel) propMimeEq MimeJSON (Proxy :: Proxy TranscriptionResponseModel) propMimeEq MimeJSON (Proxy :: Proxy UsageModel) propMimeEq MimeJSON (Proxy :: Proxy ValidationError) propMimeEq MimeJSON (Proxy :: Proxy ValidationErrorLocInner)