aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Test.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Test.hs')
-rw-r--r--tests/Test.hs52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/Test.hs b/tests/Test.hs
new file mode 100644
index 0000000..152472b
--- /dev/null
+++ b/tests/Test.hs
@@ -0,0 +1,52 @@
+{-# 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)
+