The missing intervals for the Twitter Util library. Currently supports test on intersection, and operations union and minus. Feel free to contribute.
Available on Maven Central Repositories
libraryDependencies += "com.madewithtea" %% "twitterintervals" % "0.6.0"
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