|
Scala example source code file (OrderingTest.scala)
The Scala OrderingTest.scala source code
object Test extends App {
def test[T](t1 : T, t2 : T)(implicit ord : Ordering[T]) = {
val cmp = ord.compare(t1, t2);
val cmp2 = ord.compare(t2, t1);
assert((cmp == 0) == (cmp2 == 0))
assert((cmp > 0) == (cmp2 < 0))
assert((cmp < 0) == (cmp2 > 0))
}
def testAll[T](t1 : T, t2 : T)(implicit ord : Ordering[T]) = {
assert(ord.compare(t1, t2) < 0)
test(t1, t2);
test(t1, t1);
test(t2, t2);
}
assert(Ordering[String].compare("australopithecus", "brontausaurus") < 0)
// assert(Ordering[Unit].compare((), ()) == 0)
testAll("bar", "foo");
testAll[Byte](0, 1);
testAll(false, true)
testAll(1, 2);
testAll(1.0, 2.0);
testAll(None, Some(1));
testAll[Iterable[Int]](List(1), List(1, 2));
testAll[Iterable[Int]](List(1, 2), List(2));
testAll((1, "bar"), (1, "foo"))
testAll((1, "foo"), (2, "bar"))
// sortBy
val words = "The quick brown fox jumped over the lazy dog".split(' ')
val result = words.sortBy(x => (x.length, x.head))
assert(result sameElements Array[String]("The", "dog", "fox", "the", "lazy", "over", "brown", "quick", "jumped"))
}
Other Scala examples (source code examples)Here is a short list of links related to this Scala OrderingTest.scala source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.