Top Description Fields Constructors Methods
org.assertj.core.api

public Class Object2DArrayAssert<ELEMENT>

extends Abstract2DArrayAssert<Object2DArrayAssert<ELEMENT>, ELEMENT[][], ELEMENT>
Class Inheritance
Type Parameters
<ELEMENT>
the type of elements of the "actual" value.
Static Imports
org.assertj.core.error.ShouldHaveSameSizeAs.shouldHaveSameSizeAs, .ShouldNotBeNull.shouldNotBeNull, .SubarraysShouldHaveSameSize.subarraysShouldHaveSameSize, org.assertj.core.error.array2d.Array2dElementShouldBeDeepEqual.elementShouldBeEqual

Assertion methods for two-dimensional arrays of objects.

To create an instance of this class, invoke Assertions#assertThat(Object[][]).

Author
Maciej Wajcht
Since
3.17.0

Field Summary

Modifier and TypeField and Description
private final Failures
protected Object2DArrays<ELEMENT>

Constructor Summary

AccessConstructor and Description
public
Object2DArrayAssert(ELEMENT[][] actual)

Method Summary

Modifier and TypeMethod and Description
public Object2DArrayAssert<ELEMENT>

Returns:

myself assertion object.
contains
(ELEMENT[]
the value to look for.
value
,
Index
the index where the value should be stored in the actual ELEMENT[][].
index
)

Verifies that the actual ELEMENT[][] contains the given ELEMENT[] at the given index.

public Object2DArrayAssert<ELEMENT>

Returns:

myself assertion object.
doesNotContain
(ELEMENT[]
the value to look for.
value
,
Index
the index where the value should be stored in the actual ELEMENT[][].
index
)

Verifies that the actual ELEMENT[][] does not contain the given ELEMENT[] at the given index.

public Object2DArrayAssert<ELEMENT>

Returns:

this assertion object.
hasDimensions
(int
the expected number of values in first dimension of the actual ELEMENT[][].
expectedFirstDimension
,
int
the expected number of values in second dimension of the actual ELEMENT[][].
expectedSecondDimension
)

Implements org.assertj.core.api.Array2DAssert.hasDimensions.

Verifies that the actual ELEMENT[][] has the given dimensions.
public Object2DArrayAssert<ELEMENT>

Returns:

this assertion object.
hasNumberOfRows
(int
the expected number of rows of the two-dimensional array.
expected
)

Implements org.assertj.core.api.Array2DAssert.hasNumberOfRows.

Verifies that the actual two-dimensional array has the given number of rows.
public Object2DArrayAssert<ELEMENT>

Returns:

this assertion object.
hasSameDimensionsAs
(Object
the array to compare dimensions with actual ELEMENT[][].
array
)

Implements org.assertj.core.api.Array2DAssert.hasSameDimensionsAs.

Verifies that the actual ELEMENT[][] has the same dimensions as the given array.
public Object2DArrayAssert<ELEMENT>

Returns:

this assertion object.
isDeepEqualTo
(ELEMENT[][]
the given value to compare the actual value to.
expected
)

Implements abstract org.assertj.core.api.Abstract2DArrayAssert.isDeepEqualTo.

Verifies that the actual ELEMENT[][] is deeply equal to the given one.
public void
isEmpty()

Implements org.assertj.core.api.Array2DAssert.isEmpty.

Verifies that the actual ELEMENT[][] is empty, empty means the array has no elements, said otherwise it can have any number of rows but all rows must be empty.
public Object2DArrayAssert<ELEMENT>

Returns:

this assertion object.
isEqualTo
(Object
the given value to compare the actual ELEMENT[][] to.
expected
)

Overrides org.assertj.core.api.AbstractAssert.isEqualTo.

Implements org.assertj.core.api.Assert.isEqualTo.

Verifies that the actual ELEMENT[][] is equal to the given one.
public Object2DArrayAssert<ELEMENT>

Returns:

this assertion object.
isNotEmpty
()

Implements org.assertj.core.api.Array2DAssert.isNotEmpty.

Verifies that the actual ELEMENT[][] is not empty, not empty means the array has at least one char element.
public void
isNullOrEmpty()

Implements org.assertj.core.api.Array2DAssert.isNullOrEmpty.

Verifies that the actual ELEMENT[][] is null or empty, empty means the array has no elements, said otherwise it can have any number of rows but all rows must be empty.

Field Detail

failuresback to summary
private final Failures failures
object2dArraysback to summary
protected Object2DArrays<ELEMENT> object2dArrays
Annotations
@VisibleForTesting

Constructor Detail

Object2DArrayAssertback to summary
public Object2DArrayAssert(ELEMENT[][] actual)

Method Detail

containsback to summary
public Object2DArrayAssert<ELEMENT> contains(ELEMENT[] value, Index index)

Verifies that the actual ELEMENT[][] contains the given ELEMENT[] at the given index.

Example:

 // assertion will pass
assertThat(new String[][] {{"a", "b"}, {"c", "d"}}).contains(new String[] {"a", "b"}, atIndex(0));

// assertion will fail
assertThat(new String[][] {{"a", "b"}, {"c", "d"}}).contains(new String[] {"a", "b"}, atIndex(1));
Parameters
value:ELEMENT[]

the value to look for.

index:Index

the index where the value should be stored in the actual ELEMENT[][].

Returns:Object2DArrayAssert<ELEMENT>

myself assertion object.

Exceptions
AssertionError:
  • if the actual ELEMENT[][] is null or empty.
  • if the actual ELEMENT[][] does not contain the given value at the given index.
NullPointerException:
if the given Index is null.
IndexOutOfBoundsException:
if the value of the given Index is equal to or greater than the size of the actual ELEMENT[][].
doesNotContainback to summary
public Object2DArrayAssert<ELEMENT> doesNotContain(ELEMENT[] value, Index index)

Verifies that the actual ELEMENT[][] does not contain the given ELEMENT[] at the given index.

Example:

 // assertion will pass
assertThat(new String[][] {{"a", "b"}, {"c", "d"}}).doesNotContain(new String[] {"a", "b"}, atIndex(1));

// assertion will fail
assertThat(new String[][] {{"a", "b"}, {"c", "d"}}).doesNotContain(new String[] {"a", "b"}, atIndex(0));
Parameters
value:ELEMENT[]

the value to look for.

index:Index

the index where the value should be stored in the actual ELEMENT[][].

Returns:Object2DArrayAssert<ELEMENT>

myself assertion object.

Exceptions
AssertionError:
  • if the actual ELEMENT[][] is null.
  • if the actual ELEMENT[][] contains the given value at the given index.
NullPointerException:
if the given Index is null.
hasDimensionsback to summary
public Object2DArrayAssert<ELEMENT> hasDimensions(int expectedFirstDimension, int expectedSecondDimension)

Implements org.assertj.core.api.Array2DAssert.hasDimensions.

Verifies that the actual ELEMENT[][] has the given dimensions.

Example:

 // assertion will pass
assertThat(new String[][] { {"1", "2", "3"}, {"4", "5", "6"} }).hasDimensions(2, 3);

// assertions will fail
assertThat(new String[][] { }).hasDimensions(1, 1);
assertThat(new String[][] { {"1", "2", "3"}, {"4", "5", "6"} }).hasDimensions(3, 2);
assertThat(new String[][] { {"1", "2", "3"}, {"4", "5", "6", "7"} }).hasDimensions(2, 3); 
Parameters
expectedFirstDimension:int

the expected number of values in first dimension of the actual ELEMENT[][].

expectedSecondDimension:int

the expected number of values in second dimension of the actual ELEMENT[][].

Returns:Object2DArrayAssert<ELEMENT>

this assertion object.

Annotations
@Override
Exceptions
AssertionError:
if the number of values of the actual ELEMENT[][] is not equal to the given one.
hasNumberOfRowsback to summary
public Object2DArrayAssert<ELEMENT> hasNumberOfRows(int expected)

Implements org.assertj.core.api.Array2DAssert.hasNumberOfRows.

Verifies that the actual two-dimensional array has the given number of rows.

Example:

 // assertion will pass
assertThat(new String[][] {{"1", "2", "3"}, {"4", "5", "6"}}).hasNumberOfRows(2);
assertThat(new String[][] {{"1"}, {"1", "2"}, {"1", "2", "3"}}).hasNumberOfRows(3);

// assertions will fail
assertThat(new String[][] { }).hasNumberOfRows(1);
assertThat(new String[][] {{"1", "2", "3"}, {"4", "5", "6"}}).hasNumberOfRows(3);
assertThat(new String[][] {{"1", "2", "3"}, {"4", "5", "6", "7"}}).hasNumberOfRows(1); 
Parameters
expected:int

the expected number of rows of the two-dimensional array.

Returns:Object2DArrayAssert<ELEMENT>

this assertion object.

Annotations
@Override
Exceptions
AssertionError:
if the actual number of rows are not equal to the given one.
hasSameDimensionsAsback to summary
public Object2DArrayAssert<ELEMENT> hasSameDimensionsAs(Object array)

Implements org.assertj.core.api.Array2DAssert.hasSameDimensionsAs.

Verifies that the actual ELEMENT[][] has the same dimensions as the given array.

Parameter is declared as Object to accept both Object and primitive arrays.

Example:
 String[][] stringArray = {{"a", "b", "c""}, {"d", "e", "f""}};
char[][] charArray = {{'a', 'b', 'c'}, {'d', 'e', 'f'}};

// assertion will pass
assertThat(stringArray).hasSameDimensionsAs(charArray);

// assertions will fail
assertThat(stringArray).hasSameDimensionsAs(new char[][] {{'a', 'b'}, {'c', 'd'}, {'e', 'f'}});
assertThat(stringArray).hasSameDimensionsAs(new char[][] {{'a', 'b'}, {'c', 'd', 'e'}});
assertThat(stringArray).hasSameDimensionsAs(new char[][] {{'a', 'b', 'c'}, {'d', 'e'}});
Parameters
array:Object

the array to compare dimensions with actual ELEMENT[][].

Returns:Object2DArrayAssert<ELEMENT>

this assertion object.

Annotations
@Override
Exceptions
AssertionError:
  • if the actual ELEMENT[][] is null.
  • if the array parameter is null or is not a true array.
  • if actual ELEMENT[][] and given array don't have the same dimensions.
isDeepEqualToback to summary
public Object2DArrayAssert<ELEMENT> isDeepEqualTo(ELEMENT[][] expected)

Implements abstract org.assertj.core.api.Abstract2DArrayAssert.isDeepEqualTo.

Verifies that the actual ELEMENT[][] is deeply equal to the given one.

Two array references are considered deeply equal if both are null or if they refer to arrays that contain the same number of elements and all corresponding pairs of elements in the two arrays are deeply equal.

Example:

 // assertion will pass
assertThat(new String[][] {{"1", "2"}, {"3", "4"}}).isDeepEqualTo(new String[][] {{"1", "2"}, {"3", "4"}});

// assertions will fail
assertThat(new String[][] {{"1", "2"}, {"3", "4"}}).isDeepEqualTo(new String[][] {{"1", "2"}, {"9", "0"}});
assertThat(new String[][] {{"1", "2"}, {"3", "4"}}).isDeepEqualTo(new String[][] {{"1", "2", "3"}, {"4"}});
Parameters
expected:ELEMENT[][]

the given value to compare the actual value to.

Returns:Object2DArrayAssert<ELEMENT>

this assertion object.

Annotations
@Override
Exceptions
AssertionError:
if the actual value is not deeply equal to the given one.
isEmptyback to summary
public void isEmpty()

Implements org.assertj.core.api.Array2DAssert.isEmpty.

Verifies that the actual ELEMENT[][] is empty, empty means the array has no elements, said otherwise it can have any number of rows but all rows must be empty.

Example:

 // assertions will pass
assertThat(new String[][] { {} }).isEmpty();
// this is considered empty as there are no elements in the 2d array which is comprised of 3 empty rows.
assertThat(new String[][] { { }, { }, { } }).isEmpty();

// assertions will fail
assertThat(new String[][] { {'a'}, {'b'} }).isEmpty();
String[][] array = null;
assertThat(array).isEmpty();
Annotations
@Override
Exceptions
AssertionError:
if the actual ELEMENT[][] is not empty.
isEqualToback to summary
public Object2DArrayAssert<ELEMENT> isEqualTo(Object expected)

Overrides org.assertj.core.api.AbstractAssert.isEqualTo.

Implements org.assertj.core.api.Assert.isEqualTo.

Verifies that the actual ELEMENT[][] is equal to the given one.

Warning

This method will use equals to compare (it will compare arrays references only).
Unless you specify a comparator with usingComparator(Comparator), it is advised to use isDeepEqualTo(Object[][]) instead.

Example:

 String[][] array = {{"1", "2"}, {"3", "4"}};

// assertion will pass
assertThat(array).isEqualTo(array);

// assertion will fail as isEqualTo calls equals which compares arrays references only.
assertThat(array).isEqualTo(new String[][] {{"1", "2"}, {"3", "4"}});
Parameters
expected:Object

the given value to compare the actual ELEMENT[][] to.

Returns:Object2DArrayAssert<ELEMENT>

this assertion object.

Annotations
@Override
Exceptions
AssertionError:
if the actual ELEMENT[][] is not equal to the given one.
isNotEmptyback to summary
public Object2DArrayAssert<ELEMENT> isNotEmpty()

Implements org.assertj.core.api.Array2DAssert.isNotEmpty.

Verifies that the actual ELEMENT[][] is not empty, not empty means the array has at least one char element.

Example:

 // assertion will pass
assertThat(new String[][] { {'a'}, {'b'} }).isNotEmpty();
assertThat(new String[][] { { }, {'b'} }).isNotEmpty();

// assertions will fail
assertThat(new String[][] { }).isNotEmpty();
assertThat(new String[][] { { } }).isNotEmpty();
// this is considered empty as there are no elements in the 2d array which is comprised of 3 empty rows.
assertThat(new String[][] { { }, { }, { } }).isNotEmpty();
String[][] array = null;
assertThat(array).isNotEmpty();
Returns:Object2DArrayAssert<ELEMENT>

this assertion object.

Annotations
@Override
Exceptions
AssertionError:
if the actual ELEMENT[][] is empty or null.
isNullOrEmptyback to summary
public void isNullOrEmpty()

Implements org.assertj.core.api.Array2DAssert.isNullOrEmpty.

Verifies that the actual ELEMENT[][] is null or empty, empty means the array has no elements, said otherwise it can have any number of rows but all rows must be empty.

Example:

 // assertions will pass
String[][] array = null;
assertThat(array).isNullOrEmpty();
assertThat(new String[][] { }).isNullOrEmpty();
assertThat(new String[][] { { } }).isNullOrEmpty();
// this is considered empty as there are no elements in the 2d array which is comprised of 3 empty rows.
assertThat(new String[][] { { }, { }, { } }).isNullOrEmpty();

// assertion will fail
assertThat(new String[][] { {'a'}, {'b'} }).isNullOrEmpty();
Annotations
@Override
Exceptions
AssertionError:
if the actual ELEMENT[][] is not null or not empty.