Class AbstractDoubleAssert<SELF extends AbstractDoubleAssert<SELF>>
- Type Parameters:
SELF
- the "self" type of this assertion class. Please read "Emulating 'self types' using Java Generics to simplify fluent API implementation" for more details.
- All Implemented Interfaces:
Assert<SELF,
,Double> ComparableAssert<SELF,
,Double> Descriptable<SELF>
,ExtensionPoints<SELF,
,Double> FloatingPointNumberAssert<SELF,
,Double> NumberAssert<SELF,
Double>
- Direct Known Subclasses:
DoubleAssert
Double
s.- Author:
- Drummond Dawson, Yvonne Wang, David DIDIER, Alex Ruiz, Ansgar Konermann, Joel Costigliola, Mikhail Mazursky, Nicolas François, Jack Gough
-
Field Summary
Fields inherited from class org.assertj.core.api.AbstractAssert
actual, info, myself, objects, throwUnsupportedExceptionOnEquals
-
Constructor Summary
ConstructorsModifierConstructorDescriptionAbstractDoubleAssert
(double actual, Class<?> selfType) protected
AbstractDoubleAssert
(Double actual, Class<?> selfType) -
Method Summary
Modifier and TypeMethodDescriptionVerifies that the actual value is in [start, end] range (start included, end included).Verifies that the actual number is close to the given one within the given offset value.isCloseTo
(double expected, Percentage percentage) Verifies that the actual number is close to the given one within the given percentage.
If difference is equal to the percentage value, assertion is considered valid.Verifies that the actual number is close to the given one within the given offset value.isCloseTo
(Double expected, Percentage percentage) Verifies that the actual number is close to the given one within the given percentage.
If difference is equal to the percentage value, assertion is considered valid.isEqualTo
(double expected) Verifies that the actual value is equal to the given one.Verifies that the actual number is close to the given one within the given offset value.Verifies that the actual value is equal to the given one usingDouble.equals(Object)
semantics where:Double.valueOf(Double.NaN).equals(Double.NaN) == true
butDouble.NaN != Double.NaN
Double.valueOf(0.0).equals(-0.0) == false
but0.0 == -0.0
Verifies that the actual number is close to the given one within the given offset value.isFinite()
Verifies that the double value is a finite floating-point value.isGreaterThan
(double other) Verifies that the actual value is greater than the given one.isGreaterThanOrEqualTo
(double other) Verifies that the actual value is greater than or equal to the given one.isGreaterThanOrEqualTo
(Double other) Verifies that the actual value is greater than or equal to the given one usingDouble.compareTo(Double)
semantics where notably0.0
is strictly greater than-0.0
.Verifies that the double value represents positive infinity or negative infinity.isLessThan
(double other) Verifies that the actual value is less than the given one.isLessThanOrEqualTo
(double other) Verifies that the actual value is less than or equal to the given one.isLessThanOrEqualTo
(Double other) Verifies that the actual value is less than or equal to the given one usingDouble.compareTo(Double)
semantics where notably-0.0
is strictly less than0.0
.isNaN()
Verifies that the actual value is equal toNaN
.Verifies that the actual value is negative.isNotCloseTo
(double expected, Offset<Double> offset) Verifies that the actual number is not close to the given one by less than the given offset.isNotCloseTo
(double expected, Percentage percentage) Verifies that the actual number is not close to the given one within the given percentage.
If difference is equal to the percentage value, the assertion fails.isNotCloseTo
(Double expected, Offset<Double> offset) Verifies that the actual number is not close to the given one by less than the given offset.isNotCloseTo
(Double expected, Percentage percentage) Verifies that the actual number is close to the given one within the given percentage.
If difference is equal to the percentage value, the assertion fails.isNotEqualTo
(double other) Verifies that the actual value is not equal to the given one.isNotEqualTo
(Double other) Verifies that the actual value is not equal to the givenDouble
usingDouble.equals(Object)
semantics whereDouble.valueOf(Double.NaN).equals(Double.NaN) == true
butDouble.NaN != Double.NaN
Double.valueOf(0.0).equals(-0.0) == false
but0.0 == -0.0
Verifies that the double value is not a finite floating-point value.Verifies that the double value represents neither positive infinity nor negative infinity.isNotNaN()
Verifies that the actual value is not equal toNaN
.Verifies that the actual value is non negative (positive or equal zero).Verifies that the actual value is non positive (negative or equal zero).Verifies that the actual value is not equal to zero.isOne()
Verifies that the actual value is equal to one.Verifies that the actual value is positive.isStrictlyBetween
(Double start, Double end) Verifies that the actual value is in ]start, end[ range (start excluded, end excluded).isZero()
Verifies that the actual value is equal to zero.usingComparator
(Comparator<? super Double> customComparator) Use the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.usingComparator
(Comparator<? super Double> customComparator, String customComparatorDescription) Use the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.Revert to standard comparison for the incoming assertion checks.Methods inherited from class org.assertj.core.api.AbstractComparableAssert
inBinary, inHexadecimal, isEqualByComparingTo, isGreaterThan, isLessThan, isNotEqualByComparingTo
Methods inherited from class org.assertj.core.api.AbstractObjectAssert
as, as, doesNotReturn, extracting, extracting, extracting, extracting, extracting, extracting, extractingForProxy, getComparatorsByType, hasAllNullFieldsOrProperties, hasAllNullFieldsOrPropertiesExcept, hasFieldOrProperty, hasFieldOrPropertyWithValue, hasNoNullFieldsOrProperties, hasNoNullFieldsOrPropertiesExcept, hasOnlyFields, isEqualToComparingFieldByField, isEqualToComparingFieldByFieldRecursively, isEqualToComparingOnlyGivenFields, isEqualToIgnoringGivenFields, isEqualToIgnoringNullFields, newObjectAssert, returns, usingComparatorForFields, usingComparatorForType, usingRecursiveComparison, usingRecursiveComparison
Methods inherited from class org.assertj.core.api.AbstractAssert
areEqual, asInstanceOf, asList, assertionError, asString, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, doesNotHaveSameHashCodeAs, doesNotHaveToString, equals, extracting, extracting, failure, failureWithActualExpected, failWithActualExpectedAndMessage, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasSameHashCodeAs, hasToString, is, isElementOfCustomAssert, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, newListAssertInstance, overridingErrorMessage, overridingErrorMessage, satisfies, satisfies, satisfies, satisfiesAnyOf, satisfiesAnyOf, satisfiesAnyOfForProxy, satisfiesForProxy, setCustomRepresentation, setDescriptionConsumer, setPrintAssertionsDescription, throwAssertionError, withFailMessage, withFailMessage, withRepresentation, withThreadDumpOnError
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.assertj.core.api.Descriptable
as, describedAs
-
Constructor Details
-
AbstractDoubleAssert
-
AbstractDoubleAssert
-
-
Method Details
-
isNaN
Verifies that the actual value is equal toNaN
.Example:
// assertions succeed assertThat(Double.NaN).isNaN(); assertThat(0.0 / 0.0).isNaN(); assertThat(0.0F * Float.POSITIVE_INFINITY).isNaN(); // assertions fail assertThat(1.0).isNaN(); assertThat(-1.0F).isNaN();
- Specified by:
isNaN
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
-
isNotNaN
Verifies that the actual value is not equal toNaN
.Example:
// assertions succeed assertThat(1.0).isNotNaN(); assertThat(-1.0F).isNotNaN(); // assertions fail assertThat(Double.NaN).isNotNaN(); assertThat(0.0 / 0.0).isNotNaN(); assertThat(0.0F * Float.POSITIVE_INFINITY).isNotNaN();
- Specified by:
isNotNaN
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
-
isZero
Verifies that the actual value is equal to zero.Although
0.0 == -0.0
(primitives),Double(-0.0)
is not zero asDouble.doubleToRawLongBits(0.0) == Double.doubleToRawLongBits(-0.0)
is false.Examples:
// assertions will pass assertThat(0.0).isZero(); assertThat(-0.0).isZero(); // assertions will fail assertThat(new Double(-0.0)).isZero(); assertThat(3.142).isZero();
- Specified by:
isZero
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is not equal to zero.
-
isNotZero
Verifies that the actual value is not equal to zero.Although
0.0 == -0.0
(primitives),Double(-0.0)
is not zero asDouble.doubleToRawLongBits(0.0) == Double.doubleToRawLongBits(-0.0)
is false.Examples:
// assertions will pass assertThat(3.142).isNotZero(); assertThat(new Double(-0.0)).isNotZero(); // assertions will fail assertThat(0.0).isNotZero(); assertThat(new Double(0.0)).isNotZero(); assertThat(-0.0).isNotZero();
- Specified by:
isNotZero
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is equal to zero.
-
isOne
Verifies that the actual value is equal to one.Example:
// assertions will pass assertThat(1).isOne(); assertThat(1.0).isOne(); // assertions will fail assertThat(42).isOne(); assertThat(3.142).isOne();
- Specified by:
isOne
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
-
isPositive
Verifies that the actual value is positive.Example:
// assertions will pass assertThat(42).isPositive(); assertThat(3.142).isPositive(); // assertions will fail assertThat(0).isPositive(); assertThat(-42).isPositive();
- Specified by:
isPositive
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
-
isNegative
Verifies that the actual value is negative.Example:
// assertions will pass assertThat(-42).isNegative(); assertThat(-3.124).isNegative(); // assertions will fail assertThat(0).isNegative(); assertThat(42).isNegative();
- Specified by:
isNegative
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
-
isNotNegative
Verifies that the actual value is non negative (positive or equal zero).Example:
// assertions will pass assertThat(42).isNotNegative(); assertThat(0).isNotNegative(); // assertions will fail assertThat(-42).isNotNegative(); assertThat(-3.124).isNotNegative();
- Specified by:
isNotNegative
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
this
assertion object.
-
isNotPositive
Verifies that the actual value is non positive (negative or equal zero).Example:
// assertions will pass assertThat(-42).isNotPositive(); assertThat(0).isNotPositive(); // assertions will fail assertThat(42).isNotPositive(); assertThat(3.124).isNotPositive();
- Specified by:
isNotPositive
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
this
assertion object.
-
isCloseTo
Verifies that the actual number is close to the given one within the given offset value.When abs(actual - expected) == offset value, the assertion:
- succeeds when using
Assertions.within(Double)
orAssertions.offset(Double)
- fails when using
Assertions.byLessThan(Double)
orOffset.strictOffset(Number)
Breaking change since 2.9.0/3.9.0: using
Assertions.byLessThan(Double)
implies a strict comparison, useAssertions.within(Double)
to get the old behavior.Examples:
// assertions succeed assertThat(8.1).isCloseTo(8.0, within(0.2)); assertThat(8.1).isCloseTo(8.0, offset(0.2)); // alias of within assertThat(8.1).isCloseTo(8.0, byLessThan(0.2)); // strict // assertions succeed when the difference == offset value ... assertThat(8.1).isCloseTo(8.0, within(0.1)); assertThat(8.1).isCloseTo(8.0, offset(0.1)); // ... except when using byLessThan which implies a strict comparison assertThat(0.1).isCloseTo(0.0, byLessThan(0.1)); // strict => fail // this assertion also fails assertThat(8.1).isCloseTo(8.0, within(0.001));
- Parameters:
expected
- the given number to compare the actual value to.offset
- the given positive offset.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is not close to the given one.
- succeeds when using
-
isNotCloseTo
Verifies that the actual number is not close to the given one by less than the given offset.
When abs(actual - expected) == offset value, the assertion:
- succeeds when using
Assertions.byLessThan(Double)
orOffset.strictOffset(Number)
- fails when using
Assertions.within(Double)
orAssertions.offset(Double)
Breaking change since 2.9.0/3.9.0: using
Assertions.byLessThan(Double)
implies a strict comparison, useAssertions.within(Double)
to get the old behavior.Examples:
// assertions succeed assertThat(8.1).isNotCloseTo(8.0, byLessThan(0.01)); assertThat(8.1).isNotCloseTo(8.0, within(0.01)); assertThat(8.1).isNotCloseTo(8.0, offset(0.01)); // diff == offset but isNotCloseTo succeeds as we use byLessThan assertThat(0.1).isNotCloseTo(0.0, byLessThan(0.1)); // assertions fail assertThat(0.1).isNotCloseTo(0.0, within(0.1)); assertThat(0.1).isNotCloseTo(0.0, offset(0.1)); assertThat(8.1).isNotCloseTo(8.0, within(0.2)); assertThat(8.1).isNotCloseTo(8.0, offset(0.2)); assertThat(8.1).isNotCloseTo(8.0, byLessThan(0.2));
- Parameters:
expected
- the given number to compare the actual value to.offset
- the given positive offset.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is close to the given one.- Since:
- 2.6.0 / 3.6.0
- See Also:
- succeeds when using
-
isCloseTo
Verifies that the actual number is close to the given one within the given offset value.When abs(actual - expected) == offset value, the assertion:
- succeeds when using
Assertions.within(Double)
orAssertions.offset(Double)
- fails when using
Assertions.byLessThan(Double)
orOffset.strictOffset(Number)
Breaking change since 2.9.0/3.9.0: using
Assertions.byLessThan(Double)
implies a strict comparison, useAssertions.within(Double)
to get the old behavior.Examples:
// assertions succeed assertThat(8.1).isCloseTo(8.0, within(0.2)); assertThat(8.1).isCloseTo(8.0, offset(0.2)); // alias of within assertThat(8.1).isCloseTo(8.0, byLessThan(0.2)); // strict // assertions succeed when the difference == offset value ... assertThat(8.1).isCloseTo(8.0, within(0.1)); assertThat(8.1).isCloseTo(8.0, offset(0.1)); // ... except when using byLessThan which implies a strict comparison assertThat(0.1).isCloseTo(0.0, byLessThan(0.1)); // strict => fail // this assertion also fails assertThat(8.1).isCloseTo(8.0, within(0.001));
- Specified by:
isCloseTo
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Specified by:
isCloseTo
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
expected
- the given number to compare the actual value to.offset
- the given positive offset.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is not close to the given one.
- succeeds when using
-
isNotCloseTo
Verifies that the actual number is not close to the given one by less than the given offset.
When abs(actual - expected) == offset value, the assertion:
- succeeds when using
Assertions.byLessThan(Double)
orOffset.strictOffset(Number)
- fails when using
Assertions.within(Double)
orAssertions.offset(Double)
Breaking change since 2.9.0/3.9.0: using
Assertions.byLessThan(Double)
implies a strict comparison, useAssertions.within(Double)
to get the old behavior.Examples:
// assertions succeed assertThat(8.1).isNotCloseTo(8.0, byLessThan(0.01)); assertThat(8.1).isNotCloseTo(8.0, within(0.01)); assertThat(8.1).isNotCloseTo(8.0, offset(0.01)); // diff == offset but isNotCloseTo succeeds as we use byLessThan assertThat(0.1).isNotCloseTo(0.0, byLessThan(0.1)); // assertions fail assertThat(8.1).isNotCloseTo(8.0, within(0.1)); assertThat(8.1).isNotCloseTo(8.0, offset(0.1)); assertThat(8.1).isNotCloseTo(8.0, within(0.2)); assertThat(8.1).isNotCloseTo(8.0, offset(0.2)); assertThat(8.1).isNotCloseTo(8.0, byLessThan(0.2));
- Specified by:
isNotCloseTo
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Specified by:
isNotCloseTo
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
expected
- the given number to compare the actual value to.offset
- the given positive offset.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is close to the given one.- Since:
- 2.6.0 / 3.6.0
- See Also:
- succeeds when using
-
isCloseTo
Verifies that the actual number is close to the given one within the given percentage.
If difference is equal to the percentage value, assertion is considered valid.Example with double:
// assertions will pass: assertThat(11.0).isCloseTo(Double.valueOf(10.0), withinPercentage(20d)); // if difference is exactly equals to the computed offset (1.0), it's ok assertThat(11.0).isCloseTo(Double.valueOf(10.0), withinPercentage(10d)); // assertion will fail assertThat(11.0).isCloseTo(Double.valueOf(10.0), withinPercentage(5d));
- Specified by:
isCloseTo
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
expected
- the given number to compare the actual value to.percentage
- the given positive percentage.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is not close to the given one.
-
isNotCloseTo
Verifies that the actual number is close to the given one within the given percentage.
If difference is equal to the percentage value, the assertion fails.Example with double:
// assertion will pass: assertThat(11.0).isNotCloseTo(Double.valueOf(10.0), withinPercentage(5d)); // assertions will fail assertThat(11.0).isNotCloseTo(Double.valueOf(10.0), withinPercentage(10d)); assertThat(11.0).isNotCloseTo(Double.valueOf(10.0), withinPercentage(20d));
- Specified by:
isNotCloseTo
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
expected
- the given number to compare the actual value to.percentage
- the given positive percentage.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is close to the given one.- Since:
- 2.6.0 / 3.6.0
-
isCloseTo
Verifies that the actual number is close to the given one within the given percentage.
If difference is equal to the percentage value, assertion is considered valid.Example with double:
// assertions will pass: assertThat(11.0).isCloseTo(10.0, withinPercentage(20d)); // if difference is exactly equals to the computed offset (1.0), it's ok assertThat(11.0).isCloseTo(10.0, withinPercentage(10d)); // assertion will fail assertThat(11.0).isCloseTo(10.0, withinPercentage(5d));
- Parameters:
expected
- the given number to compare the actual value to.percentage
- the given positive percentage.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is not close to the given one.
-
isNotCloseTo
Verifies that the actual number is not close to the given one within the given percentage.
If difference is equal to the percentage value, the assertion fails.Example with double:
// assertion will pass: assertThat(11.0).isNotCloseTo(10.0, withinPercentage(5d)); // assertions will fail assertThat(11.0).isNotCloseTo(10.0, withinPercentage(10d)); assertThat(11.0).isNotCloseTo(10.0, withinPercentage(20d));
- Parameters:
expected
- the given number to compare the actual value to.percentage
- the given positive percentage.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is close to the given one.- Since:
- 2.6.0 / 3.6.0
-
isEqualTo
Verifies that the actual value is equal to the given one.Unless a specific comparator has been set (with
usingComparator
) the equality is performed with==
which is slightly different fromDouble.equals(Object)
- notably:0.0 == -0.0
butDouble.valueOf(0.0).equals(-0.0) == false
Double.NaN != Double.NaN
butDouble.valueOf(Double.NaN).equals(Double.NaN) == true
Examples:
// assertions will pass: assertThat(1.0).isEqualTo(1.0); assertThat(1D).isEqualTo(1.0); assertThat(-0.0).isEqualTo(0.0); // assertions will fail: assertThat(0.0).isEqualTo(1.0); assertThat(Double.NaN).isEqualTo(Double.NaN); assertThat(-1.0).isEqualTo(1.0);
Note that this assertion behaves slightly differently from
isEqualTo(Double)
.- Parameters:
expected
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is not equal to the given one.
-
isEqualTo
Verifies that the actual value is equal to the given one usingDouble.equals(Object)
semantics where:Double.valueOf(Double.NaN).equals(Double.NaN) == true
butDouble.NaN != Double.NaN
Double.valueOf(0.0).equals(-0.0) == false
but0.0 == -0.0
Examples:
// assertions will pass: assertThat(1.0).isEqualTo(Double.valueOf(1.0)); assertThat(1D).isEqualTo(Double.valueOf(1.0)); assertThat(Double.NaN).isEqualTo(Double.valueOf(Double.NaN)); // assertions will fail: assertThat(0.0).isEqualTo(Double.valueOf(1.0)); assertThat(-1.0).isEqualTo(Double.valueOf(1.0)); assertThat(-0.0).isEqualTo(Double.valueOf(0.0));
Note that this assertion behaves slightly differently from
isEqualTo(double)
.- Parameters:
expected
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is not equal to the given one.
-
isEqualTo
Verifies that the actual number is close to the given one within the given offset value.This assertion is the same as
FloatingPointNumberAssert.isCloseTo(Number, Offset)
.When abs(actual - expected) == offset value, the assertion:
- succeeds when using
Assertions.within(Double)
orAssertions.offset(Double)
- fails when using
Assertions.byLessThan(Double)
orOffset.strictOffset(Number)
Examples:
// assertions succeed assertThat(8.1).isEqualTo(8.0, within(0.2)); assertThat(8.1).isEqualTo(8.0, offset(0.2)); // alias of within assertThat(8.1).isEqualTo(8.0, byLessThan(0.2)); // strict // assertions succeed when the difference == offset value ... assertThat(8.1).isEqualTo(8.0, within(0.1)); assertThat(8.1).isEqualTo(8.0, offset(0.1)); // ... except when using byLessThan which is strict assertThat(8.1).isEqualTo(8.0, byLessThan(0.1)); // strict => fail // this assertions also fails assertThat(8.1).isEqualTo(8.0, within(0.001));
- Specified by:
isEqualTo
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
expected
- the given value to compare the actual value to.offset
- the given positive offset.- Returns:
this
assertion object.
- succeeds when using
-
isEqualTo
Verifies that the actual number is close to the given one within the given offset value.This assertion is the same as
isCloseTo(double, Offset)
.When abs(actual - expected) == offset value, the assertion:
- succeeds when using
Assertions.within(Double)
orAssertions.offset(Double)
- fails when using
Assertions.byLessThan(Double)
orOffset.strictOffset(Number)
Examples:
// assertions will pass assertThat(8.1).isEqualTo(8.0, within(0.2)); assertThat(8.1).isEqualTo(8.0, offset(0.2)); // alias of within assertThat(8.1).isEqualTo(8.0, byLessThan(0.2)); // strict // assertions succeed when the difference == offset value ... assertThat(8.1).isEqualTo(8.0, within(0.1)); assertThat(8.1).isEqualTo(8.0, offset(0.1)); // ... except when using byLessThan which implies a strict comparison assertThat(0.1).isEqualTo(0.0, byLessThan(0.1)); // strict => fail // this assertion also fails assertThat(8.1).isEqualTo(8.0, within(0.001));
- Parameters:
expected
- the given value to compare the actual value to.offset
- the given positive offset.- Returns:
this
assertion object.- Throws:
NullPointerException
- if the given offset isnull
.NullPointerException
- if the expected number isnull
.AssertionError
- if the actual value is not equal to the given one.
- succeeds when using
-
isNotEqualTo
Verifies that the actual value is not equal to the given one.Unless a specific comparator has been set (with
usingComparator
) the equality is performed with!=
which is slightly different fromDouble.equals(Object)
- notably:Double.NaN != Double.NaN
butDouble.valueOf(Double.NaN).equals(Double.NaN) == true
0.0 == -0.0
butDouble.valueOf(0.0).equals(-0.0) == false
Examples:
// assertions will pass: assertThat(0.0).isNotEqualTo(1.0); assertThat(-1.0).isNotEqualTo(1.0); assertThat(Double.NaN).isNotEqualTo(Double.NaN); // assertions will fail: assertThat(1.0).isNotEqualTo(1.0); assertThat(0.0).isNotEqualTo(-0.0); assertThat(1D).isNotEqualTo(1.0);
Note that this assertion behaves slightly differently from
isNotEqualTo(Double)
.- Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is == to the given one.
-
isNotEqualTo
Verifies that the actual value is not equal to the givenDouble
usingDouble.equals(Object)
semantics whereDouble.valueOf(Double.NaN).equals(Double.NaN) == true
butDouble.NaN != Double.NaN
Double.valueOf(0.0).equals(-0.0) == false
but0.0 == -0.0
Examples:
// assertions will pass: assertThat(0.0).isNotEqualTo(Double.valueOf(1.0)); assertThat(-1.0).isNotEqualTo(Double.valueOf(1.0)); assertThat(0.0).isNotEqualTo(Double.valueOf(-0.0)); // assertions will fail: assertThat(1.0).isNotEqualTo(Double.valueOf(1.0)); assertThat(0.0).isNotEqualTo(Double.valueOf(0.0)); assertThat(Double.NaN).isNotEqualTo(Double.valueOf(Double.NaN));
Note that this assertion behaves slightly differently from
isNotEqualTo(double)
.- Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is equal to the given one.
-
isLessThan
Verifies that the actual value is less than the given one.Examples:
// assertion will pass: assertThat(1.0).isLessThan(2.0); // assertions will fail: assertThat(2.0).isLessThan(1.0); assertThat(1.0).isLessThan(1.0);
- Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is equal to or greater than the given one.
-
isLessThanOrEqualTo
Verifies that the actual value is less than or equal to the given one.Unless a specific comparator has been set (with
usingComparator
) this assertion will use<=
semantics where notably0.0
==-0.0
.Examples:
// assertions will pass: assertThat(-1.0).isLessThanOrEqualTo(1.0); assertThat(1.0).isLessThanOrEqualTo(1.0); // 0.0 == -0.0 assertThat(-0.0).isLessThanOrEqualTo(0.0); assertThat(0.0).isLessThanOrEqualTo(-0.0); // assertion will fail: assertThat(2.0).isLessThanOrEqualTo(1.0);
Note that this assertion behaves differently from
isLessThanOrEqualTo(Double)
which usesDouble.compareTo(Double)
semantics.- Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is greater than the given one.
-
isLessThanOrEqualTo
Verifies that the actual value is less than or equal to the given one usingDouble.compareTo(Double)
semantics where notably-0.0
is strictly less than0.0
.Examples:
// assertions will pass: assertThat(-1.0).isLessThanOrEqualTo(Double.valueOf(1.0)); assertThat(1.0).isLessThanOrEqualTo(Double.valueOf(1.0)); assertThat(-0.0).isLessThanOrEqualTo(Double.valueOf(0.0)); // assertions will fail: assertThat(2.0).isLessThanOrEqualTo(Double.valueOf(1.0)); // 0.0 is not considered equal to -0.0 assertThat(0.0).isLessThanOrEqualTo(Double.valueOf(-0.0));
Note that this assertion behaves differently from
isLessThanOrEqualTo(double)
which usesDouble.compareTo(Double)
semantics.- Specified by:
isLessThanOrEqualTo
in interfaceComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Overrides:
isLessThanOrEqualTo
in classAbstractComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is greater than the given one.
-
isGreaterThan
Verifies that the actual value is greater than the given one.Examples:
// assertion will pass: assertThat(2.0).isGreaterThan(1.0); // assertions will fail: assertThat(1.0).isGreaterThan(1.0); assertThat(1.0).isGreaterThan(2.0);
- Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is equal to or less than the given one.
-
isGreaterThanOrEqualTo
Verifies that the actual value is greater than or equal to the given one.Unless a specific comparator has been set (with
usingComparator
) this assertion will use>=
semantics where notably0.0
==-0.0
.Examples:
// assertions will pass: assertThat(2.0).isGreaterThanOrEqualTo(1.0); assertThat(1.0).isGreaterThanOrEqualTo(1.0); // 0.0 == -0.0 assertThat(-0.0).isGreaterThanOrEqualTo(0.0); assertThat(0.0).isGreaterThanOrEqualTo(-0.0); // assertion will fail: assertThat(1.0).isGreaterThanOrEqualTo(2.0);
Note that this assertion behaves differently from
isGreaterThanOrEqualTo(Double)
which usesDouble.compareTo(Double)
semantics.- Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is less than the given one.
-
isGreaterThanOrEqualTo
Verifies that the actual value is greater than or equal to the given one usingDouble.compareTo(Double)
semantics where notably0.0
is strictly greater than-0.0
.Examples:
// assertions will pass: assertThat(2.0).isGreaterThanOrEqualTo(Double.valueOf(1.0)); assertThat(1.0).isGreaterThanOrEqualTo(Double.valueOf(1.0)); assertThat(0.0).isGreaterThanOrEqualTo(Double.valueOf(-0.0)); // assertions will fail: assertThat(1.0).isGreaterThanOrEqualTo(Double.valueOf(2.0)); // 0.0 is not considered equal to -0.0 assertThat(-0.0).isGreaterThanOrEqualTo(Double.valueOf(0.0));
Note that this assertion behaves differently from
isGreaterThanOrEqualTo(double)
which uses>=
semantics.- Specified by:
isGreaterThanOrEqualTo
in interfaceComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Overrides:
isGreaterThanOrEqualTo
in classAbstractComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
other
- the given value to compare the actual value to.- Returns:
this
assertion object.- Throws:
AssertionError
- if the actual value isnull
.AssertionError
- if the actual value is less than the given one.
-
isBetween
Verifies that the actual value is in [start, end] range (start included, end included).Examples:
// assertions will pass assertThat(1d).isBetween(-1d, 2d); assertThat(1d).isBetween(1d, 2d); assertThat(1d).isBetween(0d, 1d); // assertion will fail assertThat(1d).isBetween(2d, 3d);
- Specified by:
isBetween
in interfaceComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Specified by:
isBetween
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Overrides:
isBetween
in classAbstractComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
start
- the start value (inclusive), expected not to be null.end
- the end value (inclusive), expected not to be null.- Returns:
- this assertion object.
-
isStrictlyBetween
Verifies that the actual value is in ]start, end[ range (start excluded, end excluded).Examples:
// assertion will pass assertThat(1d).isStrictlyBetween(-1d, 2d); // assertions will fail assertThat(1d).isStrictlyBetween(1d, 2d); assertThat(1d).isStrictlyBetween(0d, 1d); assertThat(1d).isStrictlyBetween(2d, 3d);
- Specified by:
isStrictlyBetween
in interfaceComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Specified by:
isStrictlyBetween
in interfaceNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Overrides:
isStrictlyBetween
in classAbstractComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
start
- the start value (exclusive), expected not to be null.end
- the end value (exclusive), expected not to be null.- Returns:
- this assertion object.
-
usingComparator
Description copied from class:AbstractAssert
Use the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.The custom comparator is bound to assertion instance, meaning that if a new assertion instance is created, the default comparison strategy will be used.
Examples :
// frodo and sam are instances of Character with Hobbit race (obviously :). // raceComparator implements Comparator<Character> assertThat(frodo).usingComparator(raceComparator).isEqualTo(sam);
- Specified by:
usingComparator
in interfaceAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Overrides:
usingComparator
in classAbstractComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
customComparator
- the comparator to use for the incoming assertion checks.- Returns:
this
assertion object.
-
usingComparator
public SELF usingComparator(Comparator<? super Double> customComparator, String customComparatorDescription) Description copied from class:AbstractAssert
Use the given custom comparator instead of relying on actual type A equals method for incoming assertion checks.The custom comparator is bound to assertion instance, meaning that if a new assertion instance is created, the default comparison strategy will be used.
Examples :
// frodo and sam are instances of Character with Hobbit race (obviously :). // raceComparator implements Comparator<Character> assertThat(frodo).usingComparator(raceComparator, "Hobbit Race Comparator").isEqualTo(sam);
- Specified by:
usingComparator
in interfaceAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Overrides:
usingComparator
in classAbstractComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Parameters:
customComparator
- the comparator to use for the incoming assertion checks.customComparatorDescription
- comparator description to be used in assertion error messages- Returns:
this
assertion object.
-
usingDefaultComparator
Description copied from class:AbstractAssert
Revert to standard comparison for the incoming assertion checks.This method should be used to disable a custom comparison strategy set by calling
usingComparator
.- Specified by:
usingDefaultComparator
in interfaceAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Overrides:
usingDefaultComparator
in classAbstractComparableAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
this
assertion object.
-
isFinite
Verifies that the double value is a finite floating-point value.Example:
// assertion succeeds assertThat(1.0d).isFinite(); // assertions fail assertThat(Double.NaN).isFinite(); assertThat(Double.NEGATIVE_INFINITY).isFinite(); assertThat(Double.POSITIVE_INFINITY).isFinite();
- Specified by:
isFinite
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
- Throws:
AssertionError
- if the actual value is not a finite floating-point value.AssertionError
- if the actual value is null.- Since:
- 3.19.0
- See Also:
-
isNotFinite
Verifies that the double value is not a finite floating-point value.Note that 'not finite' is not equivalent to infinite as `NaN` is neither finite or infinite.
Example:
// assertions succeed assertThat(Double.POSITIVE_INFINITY).isNotFinite(); assertThat(Double.NEGATIVE_INFINITY).isNotFinite(); assertThat(Double.NaN).isNotFinite(); // assertion fails assertThat(1.0).isNotFinite();
- Specified by:
isNotFinite
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
- Throws:
AssertionError
- if the actual value is a finite floating-point value.AssertionError
- if the actual value is null.- Since:
- 3.20.0
- See Also:
-
isInfinite
Verifies that the double value represents positive infinity or negative infinity.Examples:
// assertions succeed assertThat(Double.NEGATIVE_INFINITY).isInfinite(); assertThat(Double.POSITIVE_INFINITY).isInfinite(); // assertions fail assertThat(1.0d).isInfinite(); assertThat(Double.NaN).isInfinite();
- Specified by:
isInfinite
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
- Throws:
AssertionError
- if the actual value represents neither positive infinity nor negative infinity.AssertionError
- if the actual value is null.- Since:
- 3.19.0
- See Also:
-
isNotInfinite
Verifies that the double value represents neither positive infinity nor negative infinity.Examples:
// assertions succeed assertThat(1.0).isNotInfinite(); assertThat(Double.NaN).isNotInfinite(); // assertions fail assertThat(Double.POSITIVE_INFINITY).isNotInfinite(); assertThat(Double.NEGATIVE_INFINITY).isNotInfinite();
- Specified by:
isNotInfinite
in interfaceFloatingPointNumberAssert<SELF extends AbstractDoubleAssert<SELF>,
Double> - Returns:
- this assertion object.
- Throws:
AssertionError
- if the actual value represents positive infinity or negative infinity.AssertionError
- if the actual value is null.- Since:
- 3.20.0
- See Also:
-