Class AssertionsForInterfaceTypes
- java.lang.Object
-
- org.assertj.core.api.AssertionsForClassTypes
-
- org.assertj.core.api.AssertionsForInterfaceTypes
-
public class AssertionsForInterfaceTypes extends AssertionsForClassTypes
Entry point for assertion methods for different data types. Each method in this class is a static factory for the type-specific assertion objects. The purpose of this class is to make test code more readable.For example:
Java 8 is picky when choosing the rightint removed = employees.removeFired();assertThat(removed).isZero(); List<Employee> newEmployees = employees.hired(TODAY);assertThat(newEmployees).hasSize(6);assertThatmethod if the object under test is generic and bounded, for example if foo is instance of T that extends Exception, java 8 will complain that it can't resolve the properassertThatmethod (normallyassertThat(Throwable)as foo might implement an interface like List, if that occurredassertThat(List)would also be a possible choice - thus confusing java 8.This why
Assertionshave been split inAssertionsForClassTypesandAssertionsForInterfaceTypes(see http://stackoverflow.com/questions/29499847/ambiguous-method-in-java-8-why).- Author:
- Alex Ruiz, Yvonne Wang, David DIDIER, Ted Young, Joel Costigliola, Matthieu Baechler, Mikhail Mazursky, Nicolas François, Julien Meddah, William Delanoue, Turbo87, dorzey
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAssertionsForInterfaceTypes()Creates a newAssertions.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <ACTUAL extends Iterable<? extends ELEMENT>,ELEMENT,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>>
ClassBasedNavigableIterableAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT>assertThat(ACTUAL actual, Class<ELEMENT_ASSERT> assertClass)static AbstractCharSequenceAssert<?,? extends CharSequence>assertThat(CharSequence actual)Creates a new instance of.CharSequenceAssertstatic <ELEMENT> IterableAssert<ELEMENT>assertThat(Iterable<? extends ELEMENT> actual)Creates a new instance of.IterableAssertstatic <ACTUAL extends Iterable<? extends ELEMENT>,ELEMENT,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>>
FactoryBasedNavigableIterableAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT>assertThat(Iterable<? extends ELEMENT> actual, AssertFactory<ELEMENT,ELEMENT_ASSERT> assertFactory)Creates a new instance of.IterableAssertstatic AbstractPathAssert<?>assertThat(Path actual)Creates a new instance ofPathAssertstatic DoublePredicateAssertassertThat(DoublePredicate actual)Create assertion forDoublePredicate.static IntPredicateAssertassertThat(IntPredicate actual)Create assertion forIntPredicate.static LongPredicateAssertassertThat(LongPredicate actual)Create assertion forLongPredicate.static <T> PredicateAssert<T>assertThat(Predicate<T> actual)Create assertion forPredicate.static <ELEMENT> IterableAssert<ELEMENT>assertThat(Iterator<? extends ELEMENT> actual)Creates a new instance of.IterableAssertstatic <ELEMENT> ListAssert<ELEMENT>assertThat(List<? extends ELEMENT> actual)Creates a new instance of.ListAssertstatic <ELEMENT,ACTUAL extends List<? extends ELEMENT>,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>>
ClassBasedNavigableListAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT>assertThat(List<? extends ELEMENT> actual, Class<ELEMENT_ASSERT> assertClass)static <ACTUAL extends List<? extends ELEMENT>,ELEMENT,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>>
FactoryBasedNavigableListAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT>assertThat(List<? extends ELEMENT> actual, AssertFactory<ELEMENT,ELEMENT_ASSERT> assertFactory)static <K,V>
MapAssert<K,V>assertThat(Map<K,V> actual)Creates a new instance of.MapAssertstatic <ELEMENT,STREAM extends BaseStream<ELEMENT,STREAM>>
ListAssert<ELEMENT>assertThat(BaseStream<? extends ELEMENT,STREAM> actual)Creates a new instance offrom the givenListAssertBaseStream.static <T> TassertThat(AssertProvider<T> component)Delegates the creation of theAssertto theAssertProvider.assertThat()of the given component.static <T extends Comparable<? super T>>
AbstractComparableAssert<?,T>assertThat(T actual)Creates a new instance ofwith standard comparison semantics.GenericComparableAssert-
Methods inherited from class org.assertj.core.api.AssertionsForClassTypes
allOf, allOf, anyOf, anyOf, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThatCode, assertThatExceptionOfType, assertThatThrownBy, atIndex, catchThrowable, contentOf, contentOf, contentOf, contentOf, contentOf, contentOf, doesNotHave, entry, extractProperty, extractProperty, fail, fail, failBecauseExceptionWasNotThrown, filter, filter, in, linesOf, linesOf, linesOf, linesOf, linesOf, linesOf, not, not, notIn, offset, offset, registerCustomDateFormat, registerCustomDateFormat, setAllowComparingPrivateFields, setAllowExtractingPrivateFields, setLenientDateParsing, setMaxLengthForSingleLineDescription, setRemoveAssertJRelatedElementsFromStackTrace, shouldHaveThrown, tuple, useDefaultDateFormatsOnly, within, within, within, within, within, within, within, withinPercentage, withinPercentage, withinPercentage
-
-
-
-
Constructor Detail
-
AssertionsForInterfaceTypes
protected AssertionsForInterfaceTypes()
Creates a newAssertions.
-
-
Method Detail
-
assertThat
public static <T> T assertThat(AssertProvider<T> component)
Delegates the creation of theAssertto theAssertProvider.assertThat()of the given component.Read the comments on
AssertProviderfor an example of its usage.- Parameters:
component- the component that creates its own assert- Returns:
- the associated
Assertof the given component
-
assertThat
public static AbstractCharSequenceAssert<?,? extends CharSequence> assertThat(CharSequence actual)
Creates a new instance of.CharSequenceAssert- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
-
assertThat
public static <ELEMENT> IterableAssert<ELEMENT> assertThat(Iterable<? extends ELEMENT> actual)
Creates a new instance of.IterableAssert- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
-
assertThat
public static <ELEMENT> IterableAssert<ELEMENT> assertThat(Iterator<? extends ELEMENT> actual)
Creates a new instance of.IterableAssertBe aware that calls to most methods on returned IterableAssert will consume Iterator so it won't be possible to iterate over it again. Calling multiple methods on returned IterableAssert is safe as Iterator's elements are cached by IterableAssert first time Iterator is consumed.
- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
-
assertThat
public static <ELEMENT> ListAssert<ELEMENT> assertThat(List<? extends ELEMENT> actual)
Creates a new instance of.ListAssert- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
-
assertThat
public static <ELEMENT,STREAM extends BaseStream<ELEMENT,STREAM>> ListAssert<ELEMENT> assertThat(BaseStream<? extends ELEMENT,STREAM> actual)
Creates a new instance offrom the givenListAssertBaseStream.Be aware that to create the returned
ListAssertthe given theBaseStreamis consumed so it won't be possible to use it again. Calling multiple methods on the returnedListAssertis safe as it only interacts with theListbuilt from theBaseStream.This method accepts
Streamand primitive stream variantsIntStream,LongStreamandDoubleStream.- Parameters:
actual- the actualBaseStreamvalue.- Returns:
- the created assertion object.
-
assertThat
public static <ACTUAL extends Iterable<? extends ELEMENT>,ELEMENT,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>> FactoryBasedNavigableIterableAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT> assertThat(Iterable<? extends ELEMENT> actual, AssertFactory<ELEMENT,ELEMENT_ASSERT> assertFactory)
Creates a new instance of.IterableAssert- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
-
assertThat
public static <ACTUAL extends Iterable<? extends ELEMENT>,ELEMENT,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>> ClassBasedNavigableIterableAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT> assertThat(ACTUAL actual, Class<ELEMENT_ASSERT> assertClass)
-
assertThat
public static <ACTUAL extends List<? extends ELEMENT>,ELEMENT,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>> FactoryBasedNavigableListAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT> assertThat(List<? extends ELEMENT> actual, AssertFactory<ELEMENT,ELEMENT_ASSERT> assertFactory)
-
assertThat
public static <ELEMENT,ACTUAL extends List<? extends ELEMENT>,ELEMENT_ASSERT extends AbstractAssert<ELEMENT_ASSERT,ELEMENT>> ClassBasedNavigableListAssert<?,ACTUAL,ELEMENT,ELEMENT_ASSERT> assertThat(List<? extends ELEMENT> actual, Class<ELEMENT_ASSERT> assertClass)
-
assertThat
public static AbstractPathAssert<?> assertThat(Path actual)
Creates a new instance ofPathAssert- Parameters:
actual- the path to test- Returns:
- the created assertion object
-
assertThat
public static <K,V> MapAssert<K,V> assertThat(Map<K,V> actual)
Creates a new instance of.MapAssertReturned type is
MapAssertas it overrides method to annotate them withSafeVarargsavoiding annoying warnings.- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
-
assertThat
public static <T extends Comparable<? super T>> AbstractComparableAssert<?,T> assertThat(T actual)
Creates a new instance ofwith standard comparison semantics.GenericComparableAssert- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
-
assertThat
public static <T extends AssertDelegateTarget> T assertThat(T assertion)
Returns the given assertion. This method improves code readability by surrounding the given assertion withassertThat.Consider for example the following MyButton and MyButtonAssert classes:
As MyButtonAssert implements AssertDelegateTarget, you can usepublic class MyButton extends JButton { private boolean blinking; public boolean isBlinking() { return this.blinking; } public void setBlinking(boolean blink) { this.blinking = blink; } } private static class MyButtonAssert implements AssertDelegateTarget { private MyButton button; MyButtonAssert(MyButton button) { this.button = button; } void isBlinking() { // standard assertion from core Assertions.assertThat assertThat(button.isBlinking()).isTrue(); } void isNotBlinking() { // standard assertion from core Assertions.assertThat assertThat(button.isBlinking()).isFalse(); } }assertThat(buttonAssert).isBlinking();instead ofbuttonAssert.isBlinking();to have easier to read assertions:@Test public void AssertDelegateTarget_example() { MyButton button = new MyButton(); MyButtonAssert buttonAssert = new MyButtonAssert(button); // you can encapsulate MyButtonAssert assertions methods within assertThat assertThat(buttonAssert).isNotBlinking(); // same as : buttonAssert.isNotBlinking(); button.setBlinking(true); assertThat(buttonAssert).isBlinking(); // same as : buttonAssert.isBlinking(); }- Type Parameters:
T- the generic type of the user-defined assert.- Parameters:
assertion- the assertion to return.- Returns:
- the given assertion.
-
assertThat
public static <T> PredicateAssert<T> assertThat(Predicate<T> actual)
Create assertion forPredicate.- Type Parameters:
T- the type of the value contained in thePredicate.- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
- Since:
- 3.5.0
-
assertThat
public static IntPredicateAssert assertThat(IntPredicate actual)
Create assertion forIntPredicate.- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
- Since:
- 3.5.0
-
assertThat
public static LongPredicateAssert assertThat(LongPredicate actual)
Create assertion forLongPredicate.- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
- Since:
- 3.5.0
-
assertThat
public static DoublePredicateAssert assertThat(DoublePredicate actual)
Create assertion forDoublePredicate.- Parameters:
actual- the actual value.- Returns:
- the created assertion object.
- Since:
- 3.5.0
-
-