Merge pull request #9566 from adrian-maghear/BAEL-4131#division-by-zero
[BAEL-4131]#division by zero
This commit is contained in:
commit
c1b246ef1a
|
@ -0,0 +1,76 @@
|
|||
package com.baeldung.divisionbyzero;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class DivisionByZeroUnitTest {
|
||||
|
||||
@Test
|
||||
void givenInt_whenDividedByZero_thenThrowException() {
|
||||
assertThrows(ArithmeticException.class, () -> {
|
||||
int result = 12 / 0;
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenDividingIntZeroByZero_thenThrowException() {
|
||||
assertThrows(ArithmeticException.class, () -> {
|
||||
int result = 0 / 0;
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenDividingFloatingNumberByZero_thenNoExceptionIsThrown() {
|
||||
assertDoesNotThrow(() -> {
|
||||
float result = 0f / 0;
|
||||
});
|
||||
assertDoesNotThrow(() -> {
|
||||
double result = 0d / 0;
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenPositiveFloatingNumber_whenDividedByZero_thenReturnPositiveInfinity() {
|
||||
assertEquals(Float.POSITIVE_INFINITY, 12f / 0);
|
||||
assertEquals(Double.POSITIVE_INFINITY, 12d / 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenNegativeFloatingNumber_whenDividedByZero_thenReturnNegativeInfinity() {
|
||||
assertEquals(Float.NEGATIVE_INFINITY, -12f / 0);
|
||||
assertEquals(Double.NEGATIVE_INFINITY, -12d / 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenPositiveFloatingNumber_whenDividedByNegativeZero_thenReturnNegativeInfinity() {
|
||||
assertEquals(Float.NEGATIVE_INFINITY, 12f / -0f);
|
||||
assertEquals(Double.NEGATIVE_INFINITY, 12f / -0f);
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenDividingFloatingNumberZeroByZero_thenReturnNaN() {
|
||||
assertEquals(Float.NaN, 0f / 0);
|
||||
assertEquals(Double.NaN, 0d / 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenABitRepresentationWithAllExponentBitsZeroesAndAllFractionBitsZeroes_whenTransformingItToFloat_thenReturnPositiveZero() {
|
||||
assertEquals(0f, Float.intBitsToFloat(0b00000000000000000000000000000000));
|
||||
assertEquals(-0f, Float.intBitsToFloat(0b10000000000000000000000000000000));
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenABitRepresentationWithAllExponentBitsOnesAndAllFractionBitsZeroes_whenTransformingItToFloat_thenReturnInfinity() {
|
||||
assertEquals(Float.POSITIVE_INFINITY, Float.intBitsToFloat(0b01111111100000000000000000000000));
|
||||
assertEquals(Float.NEGATIVE_INFINITY, Float.intBitsToFloat(0b11111111100000000000000000000000));
|
||||
}
|
||||
|
||||
@Test
|
||||
void givenABitRepresentationWithAllExponentBitsOnesAndNotAllFractionBitsZeroes_whenTransformingItToFloat_thenReturnNan() {
|
||||
assertEquals(Float.NaN, Float.intBitsToFloat(0b11111111100000010000000000000000));
|
||||
assertEquals(Float.NaN, Float.intBitsToFloat(0b11111111100000011000000000100000));
|
||||
assertEquals(Float.NaN, Float.intBitsToFloat(0b11111111100000011100000000000000));
|
||||
assertEquals(Float.NaN, Float.intBitsToFloat(0b11111111100000011110000000000000));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue