package jadx.tests.integration.arith;
import jadx.core.dex.nodes.ClassNode;
import jadx.tests.api.IntegrationTest;
import org.junit.Test;
import static jadx.tests.api.utils.JadxMatchers.containsOne;
import static org.junit.Assert.assertThat;
public class TestSpecialValues extends IntegrationTest {
public static class TestCls {
public void test() {
shorts(Short.MIN_VALUE, Short.MAX_VALUE);
bytes(Byte.MIN_VALUE, Byte.MAX_VALUE);
ints(Integer.MIN_VALUE, Integer.MAX_VALUE);
longs(Long.MIN_VALUE, Long.MAX_VALUE);
floats(Float.NaN, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY,
Float.MIN_VALUE, Float.MAX_VALUE, Float.MIN_NORMAL);
doubles(Double.NaN, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY,
Double.MIN_VALUE, Double.MAX_VALUE, Double.MIN_NORMAL);
}
private void shorts(short... v) {
}
private void bytes(byte... v) {
}
private void ints(int... v) {
}
private void longs(long... v) {
}
private void floats(float... v) {
}
private void doubles(double... v) {
}
}
@Test
public void test() {
ClassNode cls = getClassNode(TestCls.class);
String code = cls.getCode().toString();
assertThat(code, containsOne("Float.NaN, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY, " +
"Float.MIN_VALUE, Float.MAX_VALUE, Float.MIN_NORMAL"));
assertThat(code, containsOne("Double.NaN, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY, " +
"Double.MIN_VALUE, Double.MAX_VALUE, Double.MIN_NORMAL"));
assertThat(code, containsOne("Short.MIN_VALUE, Short.MAX_VALUE"));
assertThat(code, containsOne("Byte.MIN_VALUE, Byte.MAX_VALUE"));
assertThat(code, containsOne("Integer.MIN_VALUE, Integer.MAX_VALUE"));
assertThat(code, containsOne("Long.MIN_VALUE, Long.MAX_VALUE"));
}
}