public class Java6AbstractBDDSoftAssertions extends AbstractSoftAssertions
AbstractBDDSoftAssertions
.AbstractBDDSoftAssertions
AbstractSoftAssertions.ThrowingRunnable
proxies
ARRAY, ATOMIC_BOOLEAN, ATOMIC_INTEGER, ATOMIC_INTEGER_ARRAY, ATOMIC_INTEGER_FIELD_UPDATER, ATOMIC_LONG, ATOMIC_LONG_ARRAY, ATOMIC_LONG_FIELD_UPDATER, ATOMIC_MARKABLE_REFERENCE, ATOMIC_REFERENCE, ATOMIC_REFERENCE_ARRAY, ATOMIC_REFERENCE_FIELD_UPDATER, ATOMIC_STAMPED_REFERENCE, BIG_DECIMAL, BIG_INTEGER, BOOLEAN, BOOLEAN_ARRAY, BYTE, BYTE_ARRAY, CHAR_ARRAY, CHAR_SEQUENCE, CHARACTER, CLASS, COMPLETABLE_FUTURE, COMPLETION_STAGE, DATE, DOUBLE, DOUBLE_ARRAY, DOUBLE_PREDICATE, DOUBLE_STREAM, FILE, FLOAT, FLOAT_ARRAY, FUTURE, INPUT_STREAM, INSTANT, INT_ARRAY, INT_PREDICATE, INT_STREAM, INTEGER, ITERABLE, ITERATOR, LIST, LOCAL_DATE, LOCAL_DATE_TIME, LOCAL_TIME, LONG, LONG_ARRAY, LONG_PREDICATE, LONG_STREAM, MAP, OFFSET_DATE_TIME, OFFSET_TIME, OPTIONAL, OPTIONAL_DOUBLE, OPTIONAL_INT, OPTIONAL_LONG, PATH, PREDICATE, SHORT, SHORT_ARRAY, STREAM, STRING, STRING_BUFFER, STRING_BUILDER, THROWABLE, URI_TYPE, URL_TYPE, ZONED_DATE_TIME
Constructor and Description |
---|
Java6AbstractBDDSoftAssertions() |
Modifier and Type | Method and Description |
---|---|
AtomicBooleanAssert |
then(java.util.concurrent.atomic.AtomicBoolean actual)
Create assertion for
AtomicBoolean . |
AtomicIntegerAssert |
then(java.util.concurrent.atomic.AtomicInteger actual)
Create assertion for
AtomicInteger . |
AtomicIntegerArrayAssert |
then(java.util.concurrent.atomic.AtomicIntegerArray actual)
Create assertion for
AtomicIntegerArray . |
<OBJECT> AtomicIntegerFieldUpdaterAssert<OBJECT> |
then(java.util.concurrent.atomic.AtomicIntegerFieldUpdater<OBJECT> actual)
Create assertion for
AtomicIntegerFieldUpdater . |
AtomicLongAssert |
then(java.util.concurrent.atomic.AtomicLong actual)
Create assertion for
AtomicLong . |
AtomicLongArrayAssert |
then(java.util.concurrent.atomic.AtomicLongArray actual)
Create assertion for
AtomicLongArray . |
<OBJECT> AtomicLongFieldUpdaterAssert<OBJECT> |
then(java.util.concurrent.atomic.AtomicLongFieldUpdater<OBJECT> actual)
Create assertion for
AtomicLongFieldUpdater . |
<VALUE> AtomicMarkableReferenceAssert<VALUE> |
then(java.util.concurrent.atomic.AtomicMarkableReference<VALUE> actual)
Create assertion for
AtomicMarkableReference . |
<VALUE> AtomicReferenceAssert<VALUE> |
then(java.util.concurrent.atomic.AtomicReference<VALUE> actual)
Create assertion for
AtomicReference . |
<ELEMENT> AtomicReferenceArrayAssert<ELEMENT> |
then(java.util.concurrent.atomic.AtomicReferenceArray<ELEMENT> actual)
Create assertion for
AtomicReferenceArray . |
<FIELD,OBJECT> |
then(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<OBJECT,FIELD> actual)
Create assertion for
AtomicReferenceFieldUpdater . |
<VALUE> AtomicStampedReferenceAssert<VALUE> |
then(java.util.concurrent.atomic.AtomicStampedReference<VALUE> actual)
Create assertion for
AtomicStampedReference . |
BigDecimalAssert |
then(java.math.BigDecimal actual)
Creates a new instance of
. |
BigIntegerAssert |
then(java.math.BigInteger actual)
Creates a new instance of
. |
BooleanAssert |
then(boolean actual)
Creates a new instance of
. |
BooleanAssert |
then(java.lang.Boolean actual)
Creates a new instance of
. |
BooleanArrayAssert |
then(boolean[] actual)
Creates a new instance of
. |
ByteAssert |
then(byte actual)
Creates a new instance of
. |
ByteAssert |
then(java.lang.Byte actual)
Creates a new instance of
. |
ByteArrayAssert |
then(byte[] actual)
Creates a new instance of
. |
CharacterAssert |
then(char actual)
Creates a new instance of
. |
CharArrayAssert |
then(char[] actual)
Creates a new instance of
. |
CharacterAssert |
then(java.lang.Character actual)
Creates a new instance of
. |
CharSequenceAssert |
then(java.lang.CharSequence actual)
Creates a new instance of
. |
ProxyableClassAssert |
then(java.lang.Class<?> actual)
Creates a new instance of
|
DateAssert |
then(java.util.Date actual)
Creates a new instance of
. |
DoubleAssert |
then(double actual)
Creates a new instance of
. |
DoubleAssert |
then(java.lang.Double actual)
Creates a new instance of
. |
DoubleArrayAssert |
then(double[] actual)
Creates a new instance of
. |
FileAssert |
then(java.io.File actual)
Creates a new instance of
. |
FloatAssert |
then(float actual)
Creates a new instance of
. |
FloatAssert |
then(java.lang.Float actual)
Creates a new instance of
. |
FloatArrayAssert |
then(float[] actual)
Creates a new instance of
. |
<RESULT> FutureAssert<RESULT> |
then(java.util.concurrent.Future<RESULT> actual)
Creates a new instance of
. |
InputStreamAssert |
then(java.io.InputStream actual)
Creates a new instance of
. |
IntegerAssert |
then(int actual)
Creates a new instance of
. |
IntArrayAssert |
then(int[] actual)
Creates a new instance of
. |
IntegerAssert |
then(java.lang.Integer actual)
Creates a new instance of
. |
<T> ProxyableIterableAssert<T> |
then(java.lang.Iterable<? extends T> actual)
Creates a new instance of
. |
<T> IteratorAssert<T> |
then(java.util.Iterator<? extends T> actual)
Creates a new instance of
. |
<T> ProxyableListAssert<T> |
then(java.util.List<? extends T> actual)
Creates a new instance of
. |
LongAssert |
then(long actual)
Creates a new instance of
. |
LongAssert |
then(java.lang.Long actual)
Creates a new instance of
. |
LongArrayAssert |
then(long[] actual)
Creates a new instance of
. |
<K,V> ProxyableMapAssert<K,V> |
then(java.util.Map<K,V> actual)
Creates a new instance of
. |
ShortAssert |
then(short actual)
Creates a new instance of
. |
ShortAssert |
then(java.lang.Short actual)
Creates a new instance of
. |
ShortArrayAssert |
then(short[] actual)
Creates a new instance of
. |
StringAssert |
then(java.lang.String actual)
Creates a new instance of
. |
CharSequenceAssert |
then(java.lang.StringBuffer actual)
Creates a new instance of
from a StringBuffer . |
CharSequenceAssert |
then(java.lang.StringBuilder actual)
Creates a new instance of
from a StringBuilder . |
<T> ProxyableObjectAssert<T> |
then(T actual)
Creates a new instance of
. |
<T extends java.lang.Comparable<? super T>> |
then(T actual)
Creates a new instance of
with
standard comparison semantics. |
<T> ProxyableObjectArrayAssert<T> |
then(T[] actual)
Creates a new instance of
. |
ThrowableAssert |
then(java.lang.Throwable actual)
Creates a new instance of
. |
UriAssert |
then(java.net.URI actual)
Creates a new instance of
. |
AbstractUrlAssert<?> |
then(java.net.URL actual)
Creates a new instance of
. |
AbstractThrowableAssert<?,? extends java.lang.Throwable> |
thenCode(ThrowableAssert.ThrowingCallable shouldRaiseOrNotThrowable)
Allows to capture and then assert on a
Throwable more easily when used with Java 8 lambdas. |
<T> ProxyableObjectAssert<T> |
thenObject(T actual)
Creates a new instance of
for any object. |
AbstractThrowableAssert<?,? extends java.lang.Throwable> |
thenThrownBy(ThrowableAssert.ThrowingCallable shouldRaiseThrowable)
Allows to capture and then assert on a
Throwable more easily when used with Java 8 lambdas. |
AbstractThrowableAssert<?,? extends java.lang.Throwable> |
thenThrownBy(ThrowableAssert.ThrowingCallable shouldRaiseThrowable,
java.lang.String description,
java.lang.Object... args)
Allows to capture and then assert on a
Throwable like thenThrownBy(ThrowingCallable) but this method
let you set the assertion description the same way you do with as(String, Object...) . |
check, decorateErrorsCollected, errorsCollected, fail, fail, fail, failBecauseExceptionWasNotThrown, proxy, shouldHaveThrown, wasSuccess
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
array, atomicIntegerFieldUpdater, atomicLongFieldUpdater, atomicMarkableReference, atomicReference, atomicReferenceArray, atomicReferenceFieldUpdater, atomicStampedReference, comparable, completableFuture, completionStage, future, iterable, iterator, list, map, optional, predicate, stream, type
public BigDecimalAssert then(java.math.BigDecimal actual)
BigDecimalAssert
.actual
- the actual value.public BigIntegerAssert then(java.math.BigInteger actual)
BigIntegerAssert
.actual
- the actual value.public BooleanAssert then(boolean actual)
BooleanAssert
.actual
- the actual value.public BooleanAssert then(java.lang.Boolean actual)
BooleanAssert
.actual
- the actual value.public BooleanArrayAssert then(boolean[] actual)
BooleanArrayAssert
.actual
- the actual value.public ByteAssert then(byte actual)
ByteAssert
.actual
- the actual value.public ByteAssert then(java.lang.Byte actual)
ByteAssert
.actual
- the actual value.public ByteArrayAssert then(byte[] actual)
ByteArrayAssert
.actual
- the actual value.public CharacterAssert then(char actual)
CharacterAssert
.actual
- the actual value.public CharArrayAssert then(char[] actual)
CharArrayAssert
.actual
- the actual value.public CharacterAssert then(java.lang.Character actual)
CharacterAssert
.actual
- the actual value.public ProxyableClassAssert then(java.lang.Class<?> actual)
ClassAssert
We don't return ClassAssert
as it has overridden methods to annotated with SafeVarargs
.
actual
- the actual value.public <T extends java.lang.Comparable<? super T>> AbstractComparableAssert<?,T> then(T actual)
GenericComparableAssert
with
standard comparison semantics.T
- the type of actual.actual
- the actual value.public <T> ProxyableIterableAssert<T> then(java.lang.Iterable<? extends T> actual)
IterableAssert
.T
- the type of elements.actual
- the actual value.public <T> IteratorAssert<T> then(java.util.Iterator<? extends T> actual)
IteratorAssert
.
This is a breaking change in version 3.12.0: this method used to return an ProxyableIterableAssert
.
T
- the type of elements.actual
- the actual value.public DoubleAssert then(double actual)
DoubleAssert
.actual
- the actual value.public DoubleAssert then(java.lang.Double actual)
DoubleAssert
.actual
- the actual value.public DoubleArrayAssert then(double[] actual)
DoubleArrayAssert
.actual
- the actual value.public FileAssert then(java.io.File actual)
FileAssert
.actual
- the actual value.public <RESULT> FutureAssert<RESULT> then(java.util.concurrent.Future<RESULT> actual)
FutureAssert
.RESULT
- the type of the value contained in the Future
.actual
- the actual value.public InputStreamAssert then(java.io.InputStream actual)
InputStreamAssert
.actual
- the actual value.public FloatAssert then(float actual)
FloatAssert
.actual
- the actual value.public FloatAssert then(java.lang.Float actual)
FloatAssert
.actual
- the actual value.public FloatArrayAssert then(float[] actual)
FloatArrayAssert
.actual
- the actual value.public IntegerAssert then(int actual)
IntegerAssert
.actual
- the actual value.public IntArrayAssert then(int[] actual)
IntArrayAssert
.actual
- the actual value.public IntegerAssert then(java.lang.Integer actual)
IntegerAssert
.actual
- the actual value.public <T> ProxyableListAssert<T> then(java.util.List<? extends T> actual)
ListAssert
.T
- the type of elements.actual
- the actual value.public LongAssert then(long actual)
LongAssert
.actual
- the actual value.public LongAssert then(java.lang.Long actual)
LongAssert
.actual
- the actual value.public LongArrayAssert then(long[] actual)
LongArrayAssert
.actual
- the actual value.public <T> ProxyableObjectAssert<T> then(T actual)
ObjectAssert
.T
- the type of the actual value.actual
- the actual value.public <T> ProxyableObjectArrayAssert<T> then(T[] actual)
ObjectArrayAssert
.T
- the type of elements.actual
- the actual value.public <K,V> ProxyableMapAssert<K,V> then(java.util.Map<K,V> actual)
MapAssert
.
We don't return MapAssert
as it has overridden methods to annotated with SafeVarargs
.
K
- the type of keys in the map.V
- the type of values in the map.actual
- the actual value.public ShortAssert then(short actual)
ShortAssert
.actual
- the actual value.public ShortAssert then(java.lang.Short actual)
ShortAssert
.actual
- the actual value.public ShortArrayAssert then(short[] actual)
ShortArrayAssert
.actual
- the actual value.public CharSequenceAssert then(java.lang.CharSequence actual)
CharSequenceAssert
.actual
- the actual value.public CharSequenceAssert then(java.lang.StringBuilder actual)
CharSequenceAssert
from a StringBuilder
.actual
- the actual value.public CharSequenceAssert then(java.lang.StringBuffer actual)
CharSequenceAssert
from a StringBuffer
.actual
- the actual value.public StringAssert then(java.lang.String actual)
StringAssert
.actual
- the actual value.public DateAssert then(java.util.Date actual)
DateAssert
.actual
- the actual value.public AtomicBooleanAssert then(java.util.concurrent.atomic.AtomicBoolean actual)
AtomicBoolean
.actual
- the actual value.public AtomicIntegerAssert then(java.util.concurrent.atomic.AtomicInteger actual)
AtomicInteger
.actual
- the actual value.public AtomicIntegerArrayAssert then(java.util.concurrent.atomic.AtomicIntegerArray actual)
AtomicIntegerArray
.actual
- the actual value.public <OBJECT> AtomicIntegerFieldUpdaterAssert<OBJECT> then(java.util.concurrent.atomic.AtomicIntegerFieldUpdater<OBJECT> actual)
AtomicIntegerFieldUpdater
.OBJECT
- The type of the object holding the updatable fieldactual
- the actual value.public AtomicLongAssert then(java.util.concurrent.atomic.AtomicLong actual)
AtomicLong
.actual
- the actual value.public AtomicLongArrayAssert then(java.util.concurrent.atomic.AtomicLongArray actual)
AtomicLongArray
.actual
- the actual value.public <OBJECT> AtomicLongFieldUpdaterAssert<OBJECT> then(java.util.concurrent.atomic.AtomicLongFieldUpdater<OBJECT> actual)
AtomicLongFieldUpdater
.OBJECT
- the type of the object holding the updatable fieldactual
- the actual value.public <VALUE> AtomicReferenceAssert<VALUE> then(java.util.concurrent.atomic.AtomicReference<VALUE> actual)
AtomicReference
.VALUE
- the type of object referred to by this referenceactual
- the actual value.public <ELEMENT> AtomicReferenceArrayAssert<ELEMENT> then(java.util.concurrent.atomic.AtomicReferenceArray<ELEMENT> actual)
AtomicReferenceArray
.ELEMENT
- the type of object referred to by the AtomicReferenceArray
.actual
- the actual value.public <FIELD,OBJECT> AtomicReferenceFieldUpdaterAssert<FIELD,OBJECT> then(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<OBJECT,FIELD> actual)
AtomicReferenceFieldUpdater
.FIELD
- The type of the fieldOBJECT
- the type of the object holding the updatable fieldactual
- the actual value.public <VALUE> AtomicMarkableReferenceAssert<VALUE> then(java.util.concurrent.atomic.AtomicMarkableReference<VALUE> actual)
AtomicMarkableReference
.VALUE
- the type of object referred to by this referenceactual
- the actual value.public <VALUE> AtomicStampedReferenceAssert<VALUE> then(java.util.concurrent.atomic.AtomicStampedReference<VALUE> actual)
AtomicStampedReference
.VALUE
- the type of value referred to by this referenceactual
- the actual value.public ThrowableAssert then(java.lang.Throwable actual)
ThrowableAssert
.actual
- the actual value.public AbstractThrowableAssert<?,? extends java.lang.Throwable> thenThrownBy(ThrowableAssert.ThrowingCallable shouldRaiseThrowable)
Throwable
more easily when used with Java 8 lambdas.
Java 8 example :
@Test
public void testException() {
BDDSoftAssertions softly = new BDDSoftAssertions();
softly.thenThrownBy(() -> { throw new Exception("boom!"); }).isInstanceOf(Exception.class)
.hasMessageContaining("boom");
}
Java 7 example :
BDDSoftAssertions softly = new BDDSoftAssertions();
softly.thenThrownBy(new ThrowingCallable() {
@Override
public Void call() throws Exception {
throw new Exception("boom!");
}
}).isInstanceOf(Exception.class)
.hasMessageContaining("boom");
If the provided ThrowableAssert.ThrowingCallable
does not raise an exception, an error is immediately thrown,
in that case the test description provided with as(String, Object...)
is not honored.Assertions.catchThrowable(ThrowableAssert.ThrowingCallable)
as shown below:
// assertion will fail but "display me" won't appear in the error
softly.thenThrownBy(() -> {}).as("display me")
.isInstanceOf(Exception.class);
// assertion will fail AND "display me" will appear in the error
Throwable thrown = catchThrowable(() -> {});
softly.then(thrown).as("display me")
.isInstanceOf(Exception.class);
Alternatively you can also use thenCode(ThrowingCallable)
for the test description provided
with as(String, Object...)
to always be honored.shouldRaiseThrowable
- The ThrowableAssert.ThrowingCallable
or lambda with the code that should raise the throwable.null
if none was raised by the callable.public AbstractThrowableAssert<?,? extends java.lang.Throwable> thenThrownBy(ThrowableAssert.ThrowingCallable shouldRaiseThrowable, java.lang.String description, java.lang.Object... args)
Throwable
like thenThrownBy(ThrowingCallable)
but this method
let you set the assertion description the same way you do with as(String, Object...)
.
Example:
@Test
public void testException() {
BDDSoftAssertions softly = new BDDSoftAssertions();
// if this assertion failed (but it doesn't), the error message would start with [Test explosive code]
softly.thenThrownBy(() -> { throw new IOException("boom!") }, "Test explosive code")
.isInstanceOf(IOException.class)
.hasMessageContaining("boom");
}
If the provided ThrowingCallable
does not raise an exception, an error is immediately thrown.
The test description provided is honored but not the one with as(String, Object...)
, example:
// assertion will fail but "display me" won't appear in the error message
softly.thenThrownBy(() -> {}).as("display me")
.isInstanceOf(Exception.class);
// assertion will fail AND "display me" will appear in the error message
softly.thenThrownBy(() -> {}, "display me")
.isInstanceOf(Exception.class);
shouldRaiseThrowable
- The ThrowableAssert.ThrowingCallable
or lambda with the code that should raise the throwable.description
- the new description to set.args
- optional parameter if description is a format String.ThrowableAssert
.public AbstractThrowableAssert<?,? extends java.lang.Throwable> thenCode(ThrowableAssert.ThrowingCallable shouldRaiseOrNotThrowable)
Throwable
more easily when used with Java 8 lambdas.
Example :
ThrowingCallable callable = () -> {
throw new Exception("boom!");
};
// assertion succeeds
thenCode(callable).isInstanceOf(Exception.class)
.hasMessageContaining("boom");
// assertion fails
thenCode(callable).doesNotThrowAnyException();
Contrary to thenThrownBy(ThrowingCallable)
the test description provided with
as(String, Object...)
is always honored as shown below.
ThrowingCallable doNothing = () -> {
// do nothing
};
// assertion fails and "display me" appears in the assertion error
thenCode(doNothing).as("display me")
.isInstanceOf(Exception.class);
This method was not named then
because the java compiler reported it ambiguous when used directly with a lambda :(
shouldRaiseOrNotThrowable
- The ThrowableAssert.ThrowingCallable
or lambda with the code that should raise the throwable.null
if none was raised by the callable.public <T> ProxyableObjectAssert<T> thenObject(T actual)
ObjectAssert
for any object.
This overload is useful, when an overloaded method of then(...) takes precedence over the generic then(Object)
.
Example:
Cast necessary becausethen(List)
"forgets" actual type:
then(new LinkedList<>(asList("abc"))).matches(list -> ((Deque<String>) list).getFirst().equals("abc"));
No cast needed, but also no additional list assertions:
thenObject(new LinkedList<>(asList("abc"))).matches(list -> list.getFirst().equals("abc"));
T
- the type of the actual value.actual
- the actual value.public UriAssert then(java.net.URI actual)
UriAssert
.actual
- the actual value.public AbstractUrlAssert<?> then(java.net.URL actual)
UrlAssert
.actual
- the actual value.