
import scala.concurrent._
import scala.concurrent.duration._
import ExecutionContext.Implicits.global
import scala.language.postfixOps 
import scala.language.reflectiveCalls

lazy val f = Future {
  import CW8b._

  assert(jumpRight("[******]***", 1, 0) == 8)
  assert(jumpRight("[**[*]*]***", 1, 0) == 8)
  assert(jumpRight("[**[*]*]***", 1, 0) == 8)  
  assert(jumpRight("[**[***]***", 1, 0) == 11)
  assert(jumpRight("[*[][]*]***", 1, 0) == 8)
  assert(jumpLeft("[******]***", 6, 0) == 1)
  assert(jumpLeft("[******]***", 7, 0) == -1)
  assert(jumpLeft("[*[][]*]***", 6, 0) == 1)
}

Await.result(f, 120 second)
