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 +4/−0
- interval-algebra.cabal +1/−1
- src/IntervalAlgebra/Arbitrary.hs +8/−8
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