Class FloatSubject

• Method Detail

• isNotWithin

public FloatSubject.TolerantFloatComparison isNotWithin(float tolerance)
Prepares for a check that the subject is a finite number not within the given tolerance of an expected value that will be provided in the next call in the fluent chain.

The check will fail if either the subject or the object is Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY, or Float.NaN. See isFinite(), isNotNaN(), or isNotEqualTo(java.lang.Object) for checks with other behaviours.

The check will fail if both values are zero, even if one is 0.0f and the other is -0.0f. Use #isNotEqualTo for a test which fails for a value of exactly zero with one sign but passes for zero with the opposite sign.

You can use a tolerance of 0.0f to assert the exact non-equality of finite floats, but sometimes isNotEqualTo(java.lang.Object) is preferable (note the different behaviours around non-finite values and -0.0f).

Parameters:
tolerance - an exclusive lower bound on the difference between the subject and object allowed by the check, which must be a non-negative finite value, i.e. not Float.NaN, Float.POSITIVE_INFINITY, or negative, including -0.0f
• isEqualTo

public final void isEqualTo(@NullableDecl
Object other)
Asserts that the subject is exactly equal to the given value, with equality defined as by Float#equals. This method is not recommended when the code under test is doing any kind of arithmetic: use isWithin(float) with a suitable tolerance in that case. (Remember that the exact result of floating point arithmetic is sensitive to apparently trivial changes such as replacing (a + b) + c with a + (b + c), and that unless strictfp is in force even the result of (a + b) + c is sensitive to the JVM's choice of precision for the intermediate result.) This method is recommended when the code under test is specified as either copying a value without modification from its input or returning a well-defined literal or constant value.

Note: The assertion isEqualTo(0.0f) fails for an input of -0.0f, and vice versa. For an assertion that passes for either 0.0f or -0.0f, use isZero().

Overrides:
isEqualTo in class Subject
• isNotEqualTo

public final void isNotEqualTo(@NullableDecl
Object other)
Asserts that the subject is not exactly equal to the given value, with equality defined as by Float#equals. See isEqualTo(java.lang.Object) for advice on when exact equality is recommended. Use isNotWithin(float) for an assertion with a tolerance.

Note: The assertion isNotEqualTo(0.0f) passes for -0.0f, and vice versa. For an assertion that fails for either 0.0f or -0.0f, use isNonZero().

Overrides:
isNotEqualTo in class Subject
• isZero

public final void isZero()
Asserts that the subject is zero (i.e. it is either 0.0f or -0.0f).
• isNonZero

public final void isNonZero()
Asserts that the subject is a non-null value other than zero (i.e. it is not 0.0f, -0.0f or null).
• isPositiveInfinity

public final void isPositiveInfinity()
Asserts that the subject is Float.POSITIVE_INFINITY.
• isNegativeInfinity

public final void isNegativeInfinity()
Asserts that the subject is Float.NEGATIVE_INFINITY.
• isNaN

public final void isNaN()
Asserts that the subject is Float.NaN.
• isGreaterThan

public final void isGreaterThan(int other)
Checks that the subject is greater than other.

To check that the subject is greater than or equal to other, use isAtLeast(int).

• isLessThan

public final void isLessThan(int other)
Checks that the subject is less than other.

To check that the subject is less than or equal to other, use isAtMost(int) .

• isAtMost

public final void isAtMost(int other)
Checks that the subject is less than or equal to other.

To check that the subject is strictly less than other, use isLessThan(int).

• isAtLeast

public final void isAtLeast(int other)
Checks that the subject is greater than or equal to other.

To check that the subject is strictly greater than other, use isGreaterThan(int).