object Test extends Application {
def testEquals1 {
Console.println(Array(1) == Array(1))
Console.println(Array(1) equals Array(1))
Console.println(Array(1) deepEquals Array(1))
Console.println
}
def testEquals2 {
Console.println(Array(Array(1), Array(2)) == Array(Array(1), Array(2)))
Console.println(Array(Array(1), Array(2)) equals Array(Array(1), Array(2)))
Console.println(Array(Array(1), Array(2)) deepEquals Array(Array(1), Array(2)))
Console.println
}
def testEquals3 {
val a1 = Array(1)
val b1 = Array(1)
val a2 = Array(a1, b1)
val b2 = Array(a1, b1)
val a3 = Array(a2, b2)
val b3 = Array(a2, b2)
def test[T](x: Array[T], y: Array[T]) {
Console.println("x=" + x.deepToString)
Console.println("y=" + y.deepToString)
Console.println(x == y)
Console.println(x equals y)
Console.println(x deepEquals y)
Console.println
}
test(a1, b1)
test(a2, b2)
test(a3, b3)
}
def testToString1 {
def sweep(s: String) =
s.replaceAll("D@[0-9a-fA-F]+", "D@0000000")
.replaceAll("Z@[0-9a-fA-F]+", "Z@0000000")
.replaceAll(";@[0-9a-fA-F]+", ";@0000000")
def test[T](a: Array[T]) {
Console.println(sweep(a.toString))
Console.println(a.deepToString)
Console.println(a.deepMkString("[", ";", "]"))
Console.println(a.deepMkString(";"))
Console.println
}
val ba1 = Array(true, false)
val ba2 = Array(ba1, ba1)
val ba3 = Array(ba2, ba2)
test(ba1)
test(ba2)
test(ba3)
val da1 = Array(1.0d, 0.0d)
val da2 = Array(da1, da1)
val da3 = Array(da2, da2)
test(da1)
test(da2)
test(da3)
val sa1 = Array("a", "b")
val sa2 = Array(sa1, sa1)
val sa3 = Array(sa2, sa2)
test(sa1)
test(sa2)
test(sa3)
}
def testToString2 {
Console.println(Array(Array(true, false), Array(false)).deepMkString("[", "; ", "]"))
Console.println(Array(Array('1', '2'), Array('3')).deepMkString("[", "; ", "]"))
Console.println(Array(Array(1, 2), Array(3)).deepMkString("[", "; ", "]"))
Console.println
}
testEquals1
testEquals2
testEquals3
testToString1
testToString2
}