Twitter Intervals
The missing intervals for the Twitter Util library. Currently supports test on intersection, and operations union and minus. Feel free to contribute.
Install
Available on Maven Central Repositories
libraryDependencies += "com.madewithtea" %% "twitterintervals" % "0.6.0"
Example
import com.twitter.conversions.time._
import com.twitter.util.{Time, Duration}
import com.madewithtea.twitterintervals.Interval
val a = Interval(Time.Zero, Time.Zero + 1.day)
val b = Interval(Time.Zero + 1.hour, Time.Zero + 1.day)
// test on intersection
a intersects b shouldEqual true
// union
a union b shouldEqual Interval(Time.Zero, Time.Zero + 1.day)
// returning intersection intervals as Set of intervals
a minus b shouldEqual Set(Interval(Time.Zero, Time.Zero + 1.hour))
// can be empty
a minus a shouldEqual Set()
// using Twitter Time and Duration (conversions) with Intervals
a.duration shouldEqual 1.day