1 package gr.grnet.aquarium.util
4 * Copyright 2011 GRNET S.A. All rights reserved.
6 * Redistribution and use in source and binary forms, with or
7 * without modification, are permitted provided that the following
10 * 1. Redistributions of source code must retain the above
11 * copyright notice, this list of conditions and the following
14 * 2. Redistributions in binary form must reproduce the above
15 * copyright notice, this list of conditions and the following
16 * disclaimer in the documentation and/or other materials
17 * provided with the distribution.
19 * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
20 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
32 * The views and conclusions contained in the software and
33 * documentation are those of the authors and should not be
34 * interpreted as representing official policies, either expressed
35 * or implied, of GRNET S.A.
38 import org.junit.Assert.fail
41 * Some common Scala-related asserts
43 * @author Georgios Gousios <gousiosg@gmail.com>
47 def assertThrows[A <: Throwable](f: => Unit)(implicit m: ClassManifest[A]): Unit = {
51 case e if (m.erasure.isAssignableFrom(e.getClass)) => return
52 case e => fail("Expected error of type " + m.erasure.getName +
53 " not thrown. Instead, " + e.getClass.getName + " was thrown")
55 fail("No exception thrown")
58 def assertNone(a: AnyRef) = a match {
60 case x => fail("Argument has value")
63 def assertNotNone(a: AnyRef) = a match {
64 case None => fail("Argument is None")
68 def assertNotEmpty[A](a: Traversable[A]) = a.size match {
69 case x if x <= 0 => fail()