Skip to content

Instantly share code, notes, and snippets.

@wookay
Created December 19, 2014 13:19
Show Gist options
  • Save wookay/8a76040dbab0d9b2db51 to your computer and use it in GitHub Desktop.
Save wookay/8a76040dbab0d9b2db51 to your computer and use it in GitHub Desktop.
Rope.scala
trait UnitTest {
def assert_equal(expected :Int, got :Int) {
expected==got match {
case true =>
println("passed: " + expected)
case _ =>
println("Assertion failed\nExpected: " + expected + "\nGot: " + got)
}
}
}
object Rope extends UnitTest {
def intranet(a :Int, b :Int, x :Int, y :Int) :Int = {
if ((a-x) * (b-y) > 0) {
return 0
} else {
return 1
}
}
def count(vec: Vector[(Int,Int)]) :Int = {
var counter :Int = 0
for (i <- 0 until vec.length) {
for (j <- i+1 until vec.length) {
val a = vec(i)
val b = vec(j)
counter += intranet(a._1, a._2, b._1, b._2)
}
}
return counter
}
def data_to_vec(data :String) :Vector[(Int,Int)] = {
var vec = Vector((1,10), (5,5), (7,7))
return vec
}
def main() {
assert_equal(0, intranet(1,1, 2,2))
assert_equal(1, intranet(1,10, 5,5))
assert_equal(1, intranet(1,10, 7,7))
//var vec = data_to_vec("1 10\n5 5\n 7 7")
var vec = Vector((1,10), (5,5), (7,7))
assert_equal(2, count(vec))
vec = Vector((1,1), (2,2))
assert_equal(0, count(vec))
vec = Vector((1,9))
assert_equal(0, count(vec))
vec = Vector((5,3), (6,4))
assert_equal(0, count(vec))
vec = Vector((4,10), (6,2))
assert_equal(1, count(vec))
}
}
Rope.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment