packages feed

msgpack-types 0.3.0 → 0.3.1

raw patch · 2 files changed

+30/−1 lines, 2 files

Files

msgpack-types.cabal view
@@ -1,5 +1,5 @@ name:                 msgpack-types-version:              0.3.0+version:              0.3.1 synopsis:             A Haskell implementation of MessagePack. homepage:             http://msgpack.org/ license:              BSD3@@ -56,6 +56,7 @@   hs-source-dirs: test   main-is: testsuite.hs   other-modules:+      Data.MessagePack.Arbitrary       Data.MessagePack.Types.AssocSpec       Data.MessagePack.Types.ClassSpec   ghc-options:
+ test/Data/MessagePack/Arbitrary.hs view
@@ -0,0 +1,28 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# LANGUAGE StrictData  #-}+{-# LANGUAGE Trustworthy #-}+module Data.MessagePack.Arbitrary () where++import qualified Data.ByteString           as S+import           Data.MessagePack.Types    (Object (..))+import qualified Data.Text                 as T+import qualified Data.Vector               as V+import           Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)+import qualified Test.QuickCheck.Gen       as Gen+++instance Arbitrary Object where+    arbitrary = Gen.sized $ \n -> Gen.oneof+        [ pure ObjectNil+        , ObjectBool   <$> arbitrary+        , ObjectInt    <$> negatives+        , ObjectWord   <$> arbitrary+        , ObjectFloat  <$> arbitrary+        , ObjectDouble <$> arbitrary+        , ObjectStr    <$> (T.pack <$> arbitrary)+        , ObjectBin    <$> (S.pack <$> arbitrary)+        , ObjectArray  <$> (V.fromList <$> Gen.resize (n `div` 2) arbitrary)+        , ObjectMap    <$> (V.fromList <$> Gen.resize (n `div` 4) arbitrary)+        , ObjectExt    <$> arbitrary <*> (S.pack <$> arbitrary)+        ]+        where negatives = Gen.choose (minBound, -1)