From 5dccd2c38bb896e408bb53fc42e8e47fc81453d9 Mon Sep 17 00:00:00 2001 From: Ruben Dijkstra Date: Sun, 24 Jan 2016 22:28:28 +0100 Subject: [PATCH] Add extra test case for MathUtils.cast --- .../java/com/querydsl/core/util/MathUtilsTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/querydsl-core/src/test/java/com/querydsl/core/util/MathUtilsTest.java b/querydsl-core/src/test/java/com/querydsl/core/util/MathUtilsTest.java index 932ab5561..f5dd432a8 100644 --- a/querydsl-core/src/test/java/com/querydsl/core/util/MathUtilsTest.java +++ b/querydsl-core/src/test/java/com/querydsl/core/util/MathUtilsTest.java @@ -18,11 +18,17 @@ import static org.junit.Assert.assertSame; import java.math.BigDecimal; import java.math.BigInteger; +import java.util.concurrent.atomic.AtomicInteger; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; public class MathUtilsTest { + @Rule + public final ExpectedException expectedException = ExpectedException.none(); + @Test public void sum() { assertEquals(Integer.valueOf(5), MathUtils.sum(2, 3.0)); @@ -57,6 +63,14 @@ public class MathUtilsTest { checkSame((byte) 1, Byte.class); } + @Test + public void cast_throws_on_unsupported_numbers() { + expectedException.expect(IllegalArgumentException.class); + expectedException.expectMessage("Unsupported target type"); + + checkCast(1, AtomicInteger.class); + } + private static void checkCast(Number value, Class targetClass) { Number target = MathUtils.cast(value, targetClass); assertSame(targetClass, target.getClass());