/**
* Copyright (C) 2010-2017 Gordon Fraser, Andrea Arcuri and EvoSuite
* contributors
*
* This file is part of EvoSuite.
*
* EvoSuite is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3.0 of the License, or
* (at your option) any later version.
*
* EvoSuite is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with EvoSuite. If not, see <http://www.gnu.org/licenses/>.
*/
/**
*
*/
package org.evosuite.javaagent;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.evosuite.instrumentation.error.ErrorConditionChecker;
import org.junit.Test;
import org.objectweb.asm.Opcodes;
/**
* @author Gordon Fraser
*
*/
public class ErrorConditionCheckerTest {
@Test
public void testScaleTo() {
int x = ErrorConditionChecker.scaleTo(100, Integer.MAX_VALUE);
int y = ErrorConditionChecker.scaleTo(200, Integer.MAX_VALUE);
assertTrue(x < y);
final int HALFWAY = Integer.MAX_VALUE / 2;
x = ErrorConditionChecker.scaleTo(100, HALFWAY);
y = ErrorConditionChecker.scaleTo(200, HALFWAY);
assertTrue(x < y);
}
@Test
public void testIntAddOverflow() {
int distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE, 2,
Opcodes.IADD);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE,
Integer.MAX_VALUE, Opcodes.IADD);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE, 1,
Opcodes.IADD);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE, 0,
Opcodes.IADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(0, Integer.MAX_VALUE,
Opcodes.IADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(Integer.MIN_VALUE,
Integer.MAX_VALUE, Opcodes.IADD);
assertEquals(Integer.MAX_VALUE, distance);
int distance1 = ErrorConditionChecker.overflowDistance(10, 10, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.overflowDistance(1000, 1000, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 > distance2);
distance1 = ErrorConditionChecker.overflowDistance(100, -100, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.overflowDistance(-100, 100, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertEquals(distance1, distance2);
int distance3 = ErrorConditionChecker.overflowDistance(-100, 10, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertEquals(distance1, distance2);
distance3 = ErrorConditionChecker.overflowDistance(-50, 10, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue(distance3 < distance2);
}
@Test
public void testIntAddUnderflow() {
int distance = ErrorConditionChecker.underflowDistance(Integer.MIN_VALUE, -1,
Opcodes.IADD);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(-1, Integer.MIN_VALUE,
Opcodes.IADD);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(Integer.MIN_VALUE / 2,
Integer.MIN_VALUE / 2,
Opcodes.IADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.underflowDistance((Integer.MIN_VALUE / 2) - 1,
(Integer.MIN_VALUE / 2) - 1,
Opcodes.IADD);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance((Integer.MIN_VALUE + 1) / 2,
(Integer.MIN_VALUE + 1) / 2,
Opcodes.IADD);
assertTrue(distance > 0);
int distance1 = ErrorConditionChecker.underflowDistance(10, 10, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.underflowDistance(1000, 1000, Opcodes.IADD);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
}
@Test
public void testIntSubOverflow() {
int distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE, -2,
Opcodes.ISUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE,
Integer.MIN_VALUE, Opcodes.ISUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE, -1,
Opcodes.ISUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE, 0,
Opcodes.ISUB);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(0, Integer.MIN_VALUE,
Opcodes.ISUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(-1, Integer.MIN_VALUE,
Opcodes.ISUB);
assertTrue(distance > 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MIN_VALUE,
Integer.MIN_VALUE, Opcodes.ISUB);
assertEquals(Integer.MAX_VALUE - 1, distance);
int distance1 = ErrorConditionChecker.overflowDistance(10, 10, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.overflowDistance(10, 1000, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 > distance1);
distance1 = ErrorConditionChecker.overflowDistance(100, -100, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.overflowDistance(-100, 100, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue(distance1 < distance2);
int distance3 = ErrorConditionChecker.overflowDistance(-100, 10, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue(distance3 < distance2);
distance3 = ErrorConditionChecker.overflowDistance(-50, 10, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue(distance3 < distance2);
}
@Test
public void testIntSubUnderflow() {
int distance = ErrorConditionChecker.underflowDistance(Integer.MIN_VALUE, 2,
Opcodes.ISUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(Integer.MIN_VALUE, -2,
Opcodes.ISUB);
assertTrue(distance > 0);
distance = ErrorConditionChecker.underflowDistance(-2, Integer.MAX_VALUE,
Opcodes.ISUB);
assertTrue(distance <= 0);
int distance1 = ErrorConditionChecker.underflowDistance(10, 10, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.underflowDistance(1000, 1000, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
distance1 = ErrorConditionChecker.underflowDistance(10, -10, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.underflowDistance(1000, -1000, Opcodes.ISUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
}
@Test
public void testIntMulOverflow() {
int distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE, 2,
Opcodes.IMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MAX_VALUE / 2, 3,
Opcodes.IMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MIN_VALUE, -2,
Opcodes.IMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MIN_VALUE, -1,
Opcodes.IMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(-15000000, -15000000,
Opcodes.IMUL);
assertTrue(distance <= 0);
int distance1 = ErrorConditionChecker.overflowDistance(10, 10, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.overflowDistance(10, 1000, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 < distance1);
distance2 = ErrorConditionChecker.overflowDistance(-10, 1000, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 > distance1);
int distance3 = ErrorConditionChecker.overflowDistance(-100, 1000, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance3 > distance2);
distance1 = ErrorConditionChecker.overflowDistance(-100, -100, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.overflowDistance(100, 1000, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 < distance1);
}
@Test
public void testIntMulUnderflow() {
int distance = ErrorConditionChecker.underflowDistance(Integer.MAX_VALUE, -2,
Opcodes.IMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(-2, Integer.MAX_VALUE,
Opcodes.IMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(2, Integer.MIN_VALUE,
Opcodes.IMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(Integer.MIN_VALUE,
Integer.MIN_VALUE,
Opcodes.IMUL);
assertTrue(distance > 0);
int distance1 = ErrorConditionChecker.underflowDistance(10, 10, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.underflowDistance(20, 1000, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
distance2 = ErrorConditionChecker.underflowDistance(3, 1000000, Opcodes.IMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 < distance1);
}
@Test
public void testIntDivOverflow() {
int distance = ErrorConditionChecker.overflowDistance(Integer.MIN_VALUE, -1,
Opcodes.IDIV);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Integer.MIN_VALUE, 1,
Opcodes.IDIV);
assertTrue("Expected > 0 but got " + distance, distance > 0);
}
@Test
public void testFloatAddOverflow() {
int distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE, 2F,
Opcodes.FADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE,
Float.MAX_VALUE, Opcodes.FADD);
assertTrue(distance <= 0);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE, 0F,
Opcodes.FADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(0F, Float.MAX_VALUE,
Opcodes.FADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(-Float.MAX_VALUE,
Float.MAX_VALUE, Opcodes.FADD);
assertEquals(Integer.MAX_VALUE - 1, distance);
int distance1 = ErrorConditionChecker.overflowDistance(10F, 10F, Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.overflowDistance(1000F, 1000F, Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 > distance2);
distance1 = ErrorConditionChecker.overflowDistance(100F, -100F, Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.overflowDistance(-100F, 100F, Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertEquals(distance1, distance2);
int distance3 = ErrorConditionChecker.overflowDistance(-100F, 10F, Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertEquals(distance1, distance2);
distance3 = ErrorConditionChecker.overflowDistance(-50F, 10F, Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue(distance3 < distance2);
}
@Test
public void testFloatAddUnderflow() {
int distance = ErrorConditionChecker.underflowDistance(-Float.MAX_VALUE,
-Float.MAX_VALUE,
Opcodes.FADD);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(-Float.MAX_VALUE / 2F,
-Float.MAX_VALUE / 2F,
Opcodes.FADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.underflowDistance((-Float.MAX_VALUE / 2F) - 1F,
(-Float.MAX_VALUE / 2F) - 1F,
Opcodes.FADD);
assertEquals(1, distance);
distance = ErrorConditionChecker.underflowDistance((-Float.MAX_VALUE + 1F) / 2F,
(-Float.MAX_VALUE + 1F) / 2F,
Opcodes.FADD);
assertTrue(distance > 0);
int distance1 = ErrorConditionChecker.underflowDistance(10F, 10F, Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.underflowDistance(1000F, 1000F,
Opcodes.FADD);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
}
@Test
public void testFloatSubOverflow() {
int distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE,
-Float.MAX_VALUE,
Opcodes.FSUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE,
-Float.MAX_VALUE, Opcodes.FSUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE, -1F,
Opcodes.FSUB);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE, 0F,
Opcodes.FSUB);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(0F, -Float.MAX_VALUE,
Opcodes.FSUB);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(-1F, -Float.MAX_VALUE,
Opcodes.FSUB);
assertTrue(distance > 0);
distance = ErrorConditionChecker.overflowDistance(-Float.MAX_VALUE,
-Float.MAX_VALUE, Opcodes.FSUB);
assertEquals(Integer.MAX_VALUE - 1, distance);
int distance1 = ErrorConditionChecker.overflowDistance(10F, 10F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.overflowDistance(10F, 1000F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 > distance1);
distance1 = ErrorConditionChecker.overflowDistance(100F, -100F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.overflowDistance(-100F, 100F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue(distance1 < distance2);
int distance3 = ErrorConditionChecker.overflowDistance(-100F, 10F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue(distance3 < distance2);
distance3 = ErrorConditionChecker.overflowDistance(-50F, 10F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue(distance3 < distance2);
}
@Test
public void testFloatSubUnderflow() {
int distance = ErrorConditionChecker.underflowDistance(-Float.MAX_VALUE,
Float.MAX_VALUE,
Opcodes.FSUB);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(-Float.MAX_VALUE, -2F,
Opcodes.FSUB);
assertTrue(distance > 0);
distance = ErrorConditionChecker.underflowDistance(-Float.MAX_VALUE,
Float.MAX_VALUE, Opcodes.FSUB);
assertTrue(distance <= 0);
int distance1 = ErrorConditionChecker.underflowDistance(10F, 10F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.underflowDistance(1000F, 1000F,
Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
distance1 = ErrorConditionChecker.underflowDistance(10F, -10F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.underflowDistance(1000F, -1000F, Opcodes.FSUB);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
}
@Test
public void testFloatMulOverflow() {
int distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE, 2F,
Opcodes.FMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(Float.MAX_VALUE / 2F, 3F,
Opcodes.FMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(-Float.MAX_VALUE, -2F,
Opcodes.FMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(-Float.MAX_VALUE, -1,
Opcodes.FMUL);
assertEquals(1, distance);
distance = ErrorConditionChecker.overflowDistance(-150000000000000000000000.0000000002F,
-150000000000000000000000.000000001F,
Opcodes.FMUL);
assertTrue(distance <= 0);
int distance1 = ErrorConditionChecker.overflowDistance(10F, 10F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.overflowDistance(10F, 1000F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 < distance1);
distance2 = ErrorConditionChecker.overflowDistance(-10F, 1000F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 > distance1);
int distance3 = ErrorConditionChecker.overflowDistance(-100F, 1000F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance3, distance3 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance3 > distance2);
distance1 = ErrorConditionChecker.overflowDistance(-100F, -100F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
distance2 = ErrorConditionChecker.overflowDistance(100F, 1000F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 < distance1);
}
@Test
public void testFloatMulUnderflow() {
int distance = ErrorConditionChecker.underflowDistance(Float.MAX_VALUE, -2F,
Opcodes.FMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(-2F, Float.MAX_VALUE,
Opcodes.FMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(2F, -Float.MAX_VALUE,
Opcodes.FMUL);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.underflowDistance(-Float.MAX_VALUE,
-Float.MAX_VALUE, Opcodes.FMUL);
assertTrue(distance > 0);
int distance1 = ErrorConditionChecker.underflowDistance(10F, 10F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance1, distance1 > 0);
int distance2 = ErrorConditionChecker.underflowDistance(20F, 1000F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance1 < distance2);
distance2 = ErrorConditionChecker.underflowDistance(3F, 1000000F, Opcodes.FMUL);
assertTrue("Expected value greater 0 but got " + distance2, distance2 > 0);
assertTrue("Invalid ranking: " + distance1 + ", " + distance2,
distance2 < distance1);
}
@Test
public void testFloatDivOverflow() {
int distance = ErrorConditionChecker.overflowDistance(-Float.MAX_VALUE, -1F,
Opcodes.FDIV);
assertTrue(distance <= 0);
distance = ErrorConditionChecker.overflowDistance(-Float.MAX_VALUE, 1F,
Opcodes.FDIV);
assertTrue("Expected > 0 but got " + distance, distance > 0);
}
}