packages feed

interval-algebra 1.1.2 → 1.1.3

raw patch · 3 files changed

+13/−9 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for interval-algebra +## 1.1.3++* `Arbitrary` instances for `DiffTime`, `NominalDiffTime` and `Day` are now sized, the absence of which had prevented the 'fix' from version 1.1.1 from being effective. `DiffTime` and `NominalDiffTime` generators are also now limited to a maximum `86399` seconds directly.+ ## 1.1.2  * Adds an internal utility to `IntervalAlgebra.Arbitrary` to generate a `Maybe (i a)` for `Intervallic i a` from a reference interval and set of relations. `Nothing` is returned for cases in which no interval can be generated.
interval-algebra.cabal view
@@ -1,6 +1,6 @@ cabal-version:  2.2 name:           interval-algebra-version:        1.1.2+version:        1.1.3 synopsis:       An implementation of Allen's interval algebra for temporal logic description:    Please see the README on GitHub at <https://github.com/novisci/interval-algebra> category:       Algebra,Time
src/IntervalAlgebra/Arbitrary.hs view
@@ -38,32 +38,32 @@ import           Prelude             (Eq, (==)) import           Test.QuickCheck     (Arbitrary (arbitrary, shrink), Gen,                                       NonNegative, arbitrarySizedNatural,-                                      elements, resize, suchThat)+                                      elements, resize, suchThat, sized)  -- NOTE: the default size for arbitrary :: Gen Int appears to be 30 arbitrarySizedPositive :: Integral a => Gen a arbitrarySizedPositive = (+ 1) <$> arbitrarySizedNatural +-- resize in utctDayTime is to avoid rare leap-seconds-related failure, in+-- which e.g.  1858-12-31 00:00:00 UTC /= 1858-12-30 23:59:60 UTC maxDiffTime :: Int-maxDiffTime = 86400+maxDiffTime = 86399  instance Arbitrary (Interval Int) where   arbitrary = liftM2 beginerval arbitrarySizedPositive arbitrary  instance Arbitrary DT.Day where-    arbitrary = DT.ModifiedJulianDay <$> arbitrary+    arbitrary = sized (\s -> DT.ModifiedJulianDay <$> s `resize` arbitrary)     shrink    = (DT.ModifiedJulianDay <$>) . shrink . DT.toModifiedJulianDay  instance Arbitrary DT.NominalDiffTime where-   arbitrary = fromInteger <$> (maxDiffTime `resize` arbitrarySizedNatural)+   arbitrary = sized (\s -> fromInteger <$> (min s maxDiffTime `resize` arbitrarySizedNatural))  instance Arbitrary DT.DiffTime where-   arbitrary = fromInteger <$> (maxDiffTime `resize` arbitrarySizedNatural)+   arbitrary = sized (\s -> fromInteger <$> (min s maxDiffTime `resize` arbitrarySizedNatural))  instance Arbitrary DT.UTCTime  where-    -- resize in utctDayTime is to avoid rare leap-seconds-related failure, in-    -- which e.g.  1858-12-31 00:00:00 UTC /= 1858-12-30 23:59:60 UTC-    arbitrary = liftA2 UTCTime arbitrary (86399 `resize` arbitrary)+    arbitrary = liftA2 UTCTime arbitrary arbitrary                    instance Arbitrary (Interval DT.Day) where   arbitrary = liftM2 beginerval arbitrary arbitrary