From a0f0262357f135b0241c9e6969fc7748a443bb2b Mon Sep 17 00:00:00 2001 From: Ruben Dijkstra Date: Sun, 24 Jan 2016 21:56:28 +0100 Subject: [PATCH] Make MathUtilsTest more readable --- .../com/querydsl/core/util/MathUtilsTest.java | 49 ++++++++++++------- 1 file changed, 31 insertions(+), 18 deletions(-) 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 ef99b7cf7..932ab5561 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 @@ -14,6 +14,7 @@ package com.querydsl.core.util; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; import java.math.BigDecimal; import java.math.BigInteger; @@ -33,25 +34,37 @@ public class MathUtilsTest { } @Test - public void cast() { - Integer value = 1; - assertEquals(BigDecimal.class, MathUtils.cast(value, BigDecimal.class).getClass()); - assertEquals(BigInteger.class, MathUtils.cast(value, BigInteger.class).getClass()); - assertEquals(Double.class, MathUtils.cast(value, Double.class).getClass()); - assertEquals(Float.class, MathUtils.cast(value, Float.class).getClass()); - assertEquals(Integer.class, MathUtils.cast(value, Integer.class).getClass()); - assertEquals(Long.class, MathUtils.cast(value, Long.class).getClass()); - assertEquals(Short.class, MathUtils.cast(value, Short.class).getClass()); - assertEquals(Byte.class, MathUtils.cast(value, Byte.class).getClass()); + public void cast_returns_correct_type() { + checkCast(1, BigDecimal.class); + checkCast(1, BigInteger.class); + checkCast(1, Double.class); + checkCast(1, Float.class); + checkCast(1, Integer.class); + checkCast(1, Long.class); + checkCast(1, Short.class); + checkCast(1, Byte.class); + } - assertEquals(BigDecimal.ONE, MathUtils.cast(value, BigDecimal.class)); - assertEquals(BigInteger.ONE, MathUtils.cast(value, BigInteger.class)); - assertEquals(Double.valueOf(1), MathUtils.cast(value, Double.class)); - assertEquals(Float.valueOf(1), MathUtils.cast(value, Float.class)); - assertEquals(Integer.valueOf(1), MathUtils.cast(value, Integer.class)); - assertEquals(Long.valueOf(1), MathUtils.cast(value, Long.class)); - assertEquals(Short.valueOf((short) 1), MathUtils.cast(value, Short.class)); - assertEquals(Byte.valueOf((byte) 1), MathUtils.cast(value, Byte.class)); + @Test + public void cast_returns_argument_as_is_when_compatible() { + checkSame(BigDecimal.ONE, BigDecimal.class); + checkSame(BigInteger.ONE, BigInteger.class); + checkSame((double) 1, Double.class); + checkSame((float) 1, Float.class); + checkSame(1, Integer.class); + checkSame((long) 1, Long.class); + checkSame((short) 1, Short.class); + checkSame((byte) 1, Byte.class); + } + + private static void checkCast(Number value, Class targetClass) { + Number target = MathUtils.cast(value, targetClass); + assertSame(targetClass, target.getClass()); + } + + private static void checkSame(N value, Class targetClass) { + N target = MathUtils.cast(value, targetClass); + assertSame(value, target); } }