jpzk / twitter-intervals

The Missing Intervals of Twitter Util Time


Twitter Intervals

Build Status codecov License GitHub stars

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 +
val b = Interval(Time.Zero + 1.hour, Time.Zero +

// test on intersection
a intersects b shouldEqual true 

// union 
a union b shouldEqual Interval(Time.Zero, Time.Zero +

// 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