From 7b3b52c224096a988f0be74007fdb385578bf188 Mon Sep 17 00:00:00 2001 From: "Kai.Yuan" Date: Wed, 24 Apr 2024 21:28:19 +0200 Subject: [PATCH] [int-to-short] add intToShort() --- .../inttoshort/ConvertIntToShortUnitTest.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/core-java-modules/core-java-numbers-conversions-2/src/test/java/com/baeldung/inttoshort/ConvertIntToShortUnitTest.java b/core-java-modules/core-java-numbers-conversions-2/src/test/java/com/baeldung/inttoshort/ConvertIntToShortUnitTest.java index 667677d2dd..123c799b4a 100644 --- a/core-java-modules/core-java-numbers-conversions-2/src/test/java/com/baeldung/inttoshort/ConvertIntToShortUnitTest.java +++ b/core-java-modules/core-java-numbers-conversions-2/src/test/java/com/baeldung/inttoshort/ConvertIntToShortUnitTest.java @@ -1,6 +1,7 @@ package com.baeldung.inttoshort; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Test; @@ -33,4 +34,22 @@ class ConvertIntToShortUnitTest { assertEquals(-31616, result); } + short intToShort(int i) { + if (i < Short.MIN_VALUE || i > Short.MAX_VALUE) { + throw new IllegalArgumentException("Int is out of short range"); + } + return (short) i; + } + + @Test + void whenCheckShortRangeBeforeCasting_thenGetExpectedResult() { + short expected = 42; + int int42 = 42; + assertEquals(expected, intToShort(int42)); + + int oneMillion = 1_000_000; + assertThrows(IllegalArgumentException.class, () -> intToShort(oneMillion)); + + } + } \ No newline at end of file