
def urbanmain() = {
  import M5a._

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

  lazy val f = Future {
    assert(jumpRight("[xxxxxx]xxx", 1, 0) == 8)
    assert(jumpRight("[xx[x]x]xxx", 1, 0) == 8)
    assert(jumpRight("[xx[x]x]xxx", 1, 0) == 8)  
    assert(jumpRight("[xx[xxx]xxx", 1, 0) == 11)
    assert(jumpRight("[x[][]x]xxx", 1, 0) == 8)
    assert(jumpLeft("[xxxxxx]xxx", 6, 0) == 1)
    assert(jumpLeft("[xxxxxx]xxx", 7, 0) == -1)
    assert(jumpLeft("[x[][]x]xxx", 6, 0) == 1)
  }

  Await.result(f, 32 second)
}
