instances of Arbitrary L,P.ByteString
authorDon Stewart <dons@cse.unsw.edu.au>
Thu, 11 Jan 2007 15:30:37 +0000 (16:30 +0100)
committerDon Stewart <dons@cse.unsw.edu.au>
Thu, 11 Jan 2007 15:30:37 +0000 (16:30 +0100)
tests/QC.hs

index 75c88a1..4bee55c 100644 (file)
@@ -93,6 +93,14 @@ instance (Arbitrary a) => Arbitrary (Seq.Seq a) where
     arbitrary = fmap Seq.fromList arbitrary
     coarbitrary = undefined
 
+instance Arbitrary L.ByteString where
+    arbitrary     = arbitrary >>= return . L.LPS . filter (not. P.null) -- maintain the invariant.
+    coarbitrary s = coarbitrary (L.unpack s)
+
+instance Arbitrary P.ByteString where
+  arbitrary = P.pack `fmap` arbitrary
+  coarbitrary s = coarbitrary (P.unpack s)
+
 -- low level ones:
 
 prop_Word16be = roundTripWith putWord16be getWord16be