packages feed

quickcheck-instances 0.3.10 → 0.3.11

raw patch · 3 files changed

+39/−2 lines, 3 filesdep ~QuickCheck

Dependency ranges changed: QuickCheck

Files

CHANGES view
@@ -1,3 +1,13 @@+0.3.11++Author: Timo von Holtz <tvh@anchor.com.au>++* Add some Instances for Function++Author: Antoine Latter <aslatter@gmail.com>++* Allow building against QuickCheck 2.8.+ 0.3.10  Author: Antoine Latter <aslatter@gmail.com>
quickcheck-instances.cabal view
@@ -1,5 +1,5 @@ Name:                quickcheck-instances-Version:             0.3.10+Version:             0.3.11 Synopsis:            Common quickcheck instances Description:         QuickCheck instances.                      .@@ -43,7 +43,7 @@                        hashable >= 1.1.2.3 && < 1.3,                        unordered-containers >= 0.2.1 && < 0.3,                        old-time >= 1.0 && < 1.2,-                       QuickCheck >= 2.1 && < 2.8,+                       QuickCheck >= 2.1 && < 2.9,                        text >= 0.7 && < 1.3,                        time >= 1.1 && < 1.6 
src/Test/QuickCheck/Instances.hs view
@@ -28,10 +28,13 @@ module Test.QuickCheck.Instances () where  import Control.Applicative+import Control.Arrow import Data.Foldable (toList) import Data.Int (Int32) import Data.Hashable+import Data.Ratio import Test.QuickCheck+import Test.QuickCheck.Function  import qualified Data.Array.IArray as Array import qualified Data.Array.Unboxed as Array@@ -122,6 +125,12 @@ instance CoArbitrary TL.Text where     coarbitrary = coarbitrary . TL.unpack +instance Function TS.Text where+    function = functionMap TS.unpack TS.pack++instance Function TL.Text where+    function = functionMap TL.unpack TL.pack+ -- Containers instance Arbitrary a => Arbitrary (IntMap.IntMap a) where     arbitrary = IntMap.fromList <$> arbitrary@@ -158,6 +167,9 @@ instance CoArbitrary a => CoArbitrary (Set.Set a) where     coarbitrary = coarbitrary . Set.toList +instance (Ord a, Function a) => Function (Set.Set a) where+    function = functionMap Set.toList Set.fromList+ instance (Hashable a, Eq a, Arbitrary a) => Arbitrary (HS.HashSet a) where     arbitrary = HS.fromList <$> arbitrary     shrink hashset = HS.fromList <$> shrink (HS.toList hashset)@@ -268,6 +280,9 @@ instance CoArbitrary Time.Day where     coarbitrary = coarbitrary . Time.toModifiedJulianDay +instance Function Time.Day where+    function = functionMap Time.toModifiedJulianDay Time.ModifiedJulianDay+ instance Arbitrary Time.UniversalTime where     arbitrary = Time.ModJulianDate <$> (2000 +) <$> arbitrary     shrink    = (Time.ModJulianDate <$>) . shrink . Time.getModJulianDate@@ -286,6 +301,9 @@ instance CoArbitrary Time.DiffTime where     coarbitrary = coarbitraryReal +instance Function Time.DiffTime where+    function = functionMap toRational fromRational+ instance Arbitrary Time.UTCTime where     arbitrary =         Time.UTCTime@@ -299,6 +317,10 @@     coarbitrary (Time.UTCTime day dayTime) =         coarbitrary day >< coarbitrary dayTime +instance Function Time.UTCTime where+    function = functionMap (\(Time.UTCTime day dt) -> (day,dt))+                           (uncurry Time.UTCTime)+ instance Arbitrary Time.NominalDiffTime where     arbitrary = arbitrarySizedFractional     shrink    = shrinkRealFrac@@ -402,4 +424,9 @@  coarbitraryEnum :: Enum a => a -> Gen c -> Gen c coarbitraryEnum = variant . fromEnum+#endif++#if !(MIN_VERSION_QuickCheck(2,8,0))+instance (Function a, Integral a) => Function (Ratio a) where+    function = functionMap (numerator &&& denominator) (uncurry (%)) #endif