org.fest.assertions.api
Class ByteArrayAssert

java.lang.Object
  extended by org.fest.assertions.api.AbstractAssert<ByteArrayAssert,byte[]>
      extended by org.fest.assertions.api.ByteArrayAssert
All Implemented Interfaces:
ArraySortedAssert<ByteArrayAssert,Byte>, Assert<ByteArrayAssert,byte[]>, Descriptable<ByteArrayAssert>, EnumerableAssert<ByteArrayAssert,Byte>, ExtensionPoints<ByteArrayAssert,byte[]>

public class ByteArrayAssert
extends AbstractAssert<ByteArrayAssert,byte[]>
implements EnumerableAssert<ByteArrayAssert,Byte>, ArraySortedAssert<ByteArrayAssert,Byte>

Assertion methods for arrays of bytes.

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

Author:
Yvonne Wang, Alex Ruiz, Joel Costigliola, Mikhail Mazursky

Field Summary
 
Fields inherited from class org.fest.assertions.api.AbstractAssert
actual, myself
 
Constructor Summary
protected ByteArrayAssert(byte[] actual)
           
 
Method Summary
 ByteArrayAssert contains(byte... values)
          Verifies that the actual array contains the given values, in any order.
 ByteArrayAssert contains(byte value, Index index)
          Verifies that the actual array contains the given value at the given index.
 ByteArrayAssert containsOnly(byte... values)
          Verifies that the actual array contains only the given values and nothing else, in any order.
 ByteArrayAssert containsSequence(byte... sequence)
          Verifies that the actual array contains the given sequence, without any other values between them.
 ByteArrayAssert doesNotContain(byte... values)
          Verifies that the actual array does not contain the given values.
 ByteArrayAssert doesNotContain(byte value, Index index)
          Verifies that the actual array does not contain the given value at the given index.
 ByteArrayAssert doesNotHaveDuplicates()
          Verifies that the actual array does not contain duplicates.
 ByteArrayAssert endsWith(byte... sequence)
          Verifies that the actual array ends with the given sequence of values, without any other values between them.
 ByteArrayAssert hasSize(int expected)
          Verifies that the number of values in the actual group is equal to the given one.
 void isEmpty()
          Verifies that the actual group of values is empty.
 ByteArrayAssert isNotEmpty()
          Verifies that the actual group of values is not empty.
 void isNullOrEmpty()
          Verifies that the actual group of values is null or empty.
 ByteArrayAssert isSorted()
          Verifies that the actual array is sorted into ascending order according to the natural ordering of its elements.
 ByteArrayAssert isSortedAccordingTo(Comparator<? super Byte> comparator)
          Verifies that the actual array is sorted according to the given comparator.
 ByteArrayAssert startsWith(byte... sequence)
          Verifies that the actual array starts with the given sequence of values, without any other values between them.
 ByteArrayAssert usingDefaultElementComparator()
          Revert to standard comparison for incoming assertion group element checks.
 ByteArrayAssert usingElementComparator(Comparator<? super Byte> customComparator)
          Use given custom comparator instead of relying on actual type A equals method to compare group elements for incoming assertion checks.
 
Methods inherited from class org.fest.assertions.api.AbstractAssert
as, as, describedAs, describedAs, descriptionText, doesNotHave, equals, has, hashCode, is, isEqualTo, isIn, isIn, isNot, isNotEqualTo, isNotIn, isNotIn, isNotNull, isNotSameAs, isNull, isSameAs, usingComparator, usingDefaultComparator
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ByteArrayAssert

protected ByteArrayAssert(byte[] actual)
Method Detail

isNullOrEmpty

public void isNullOrEmpty()
Verifies that the actual group of values is null or empty.

Specified by:
isNullOrEmpty in interface EnumerableAssert<ByteArrayAssert,Byte>

isEmpty

public void isEmpty()
Verifies that the actual group of values is empty.

Specified by:
isEmpty in interface EnumerableAssert<ByteArrayAssert,Byte>

isNotEmpty

public ByteArrayAssert isNotEmpty()
Verifies that the actual group of values is not empty.

Specified by:
isNotEmpty in interface EnumerableAssert<ByteArrayAssert,Byte>
Returns:
this assertion object.

hasSize

public ByteArrayAssert hasSize(int expected)
Verifies that the number of values in the actual group is equal to the given one.

Specified by:
hasSize in interface EnumerableAssert<ByteArrayAssert,Byte>
Parameters:
expected - the expected number of values in the actual group.
Returns:
this assertion object.

contains

public ByteArrayAssert contains(byte... values)
Verifies that the actual array contains the given values, in any order.

Parameters:
values - the given values.
Returns:
this assertion object.
Throws:
NullPointerException - if the given argument is null.
IllegalArgumentException - if the given argument is an empty array.
AssertionError - if the actual array is null.
AssertionError - if the actual array does not contain the given values.

containsOnly

public ByteArrayAssert containsOnly(byte... values)
Verifies that the actual array contains only the given values and nothing else, in any order.

Parameters:
values - the given values.
Returns:
this assertion object.
Throws:
NullPointerException - if the given argument is null.
IllegalArgumentException - if the given argument is an empty array.
AssertionError - if the actual array is null.
AssertionError - if the actual array does not contain the given values, i.e. the actual array contains some or none of the given values, or the actual array contains more values than the given ones.

containsSequence

public ByteArrayAssert containsSequence(byte... sequence)
Verifies that the actual array contains the given sequence, without any other values between them.

Parameters:
sequence - the sequence of values to look for.
Returns:
this assertion object.
Throws:
AssertionError - if the actual array is null.
AssertionError - if the given array is null.
AssertionError - if the actual array does not contain the given sequence.

contains

public ByteArrayAssert contains(byte value,
                                Index index)
Verifies that the actual array contains the given value at the given index.

Parameters:
value - the value to look for.
index - the index where the value should be stored in the actual array.
Returns:
this assertion object.
Throws:
AssertionError - if the actual array is null or empty.
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 array.
AssertionError - if the actual array does not contain the given value at the given index.

doesNotContain

public ByteArrayAssert doesNotContain(byte... values)
Verifies that the actual array does not contain the given values.

Parameters:
values - the given values.
Returns:
this assertion object.
Throws:
NullPointerException - if the given argument is null.
IllegalArgumentException - if the given argument is an empty array.
AssertionError - if the actual array is null.
AssertionError - if the actual array contains any of the given values.

doesNotContain

public ByteArrayAssert doesNotContain(byte value,
                                      Index index)
Verifies that the actual array does not contain the given value at the given index.

Parameters:
value - the value to look for.
index - the index where the value should be stored in the actual array.
Returns:
this assertion object.
Throws:
AssertionError - if the actual array is null.
NullPointerException - if the given Index is null.
AssertionError - if the actual array contains the given value at the given index.

doesNotHaveDuplicates

public ByteArrayAssert doesNotHaveDuplicates()
Verifies that the actual array does not contain duplicates.

Returns:
this assertion object.
Throws:
AssertionError - if the actual array is null.
AssertionError - if the actual array contains duplicates.

startsWith

public ByteArrayAssert startsWith(byte... sequence)
Verifies that the actual array starts with the given sequence of values, without any other values between them. Similar to containsSequence(byte...), but it also verifies that the first element in the sequence is also first element of the actual array.

Parameters:
sequence - the sequence of values to look for.
Returns:
this assertion object.
Throws:
NullPointerException - if the given argument is null.
IllegalArgumentException - if the given argument is an empty array.
AssertionError - if the actual array is null.
AssertionError - if the actual array does not start with the given sequence.

endsWith

public ByteArrayAssert endsWith(byte... sequence)
Verifies that the actual array ends with the given sequence of values, without any other values between them. Similar to containsSequence(byte...), but it also verifies that the last element in the sequence is also last element of the actual array.

Parameters:
sequence - the sequence of values to look for.
Returns:
this assertion object.
Throws:
NullPointerException - if the given argument is null.
IllegalArgumentException - if the given argument is an empty array.
AssertionError - if the actual array is null.
AssertionError - if the actual array does not end with the given sequence.

isSorted

public ByteArrayAssert isSorted()
Verifies that the actual array is sorted into ascending order according to the natural ordering of its elements.

All array elements must be primitive or implement the Comparable interface and must be mutually comparable (that is, e1.compareTo(e2) must not throw a ClassCastException for any elements e1 and e2 in the array), examples :

Empty or one element arrays are considered sorted (unless the array element type is not Comparable).

Specified by:
isSorted in interface ArraySortedAssert<ByteArrayAssert,Byte>
Returns:
this assertion object.

isSortedAccordingTo

public ByteArrayAssert isSortedAccordingTo(Comparator<? super Byte> comparator)
Verifies that the actual array is sorted according to the given comparator.
Empty arrays are considered sorted whatever the comparator is.
One element arrays are considered sorted if element is compatible with comparator, otherwise an AssertionError is thrown.

Specified by:
isSortedAccordingTo in interface ArraySortedAssert<ByteArrayAssert,Byte>
Parameters:
comparator - the Comparator used to compare array elements
Returns:
this assertion object.

usingElementComparator

public ByteArrayAssert usingElementComparator(Comparator<? super Byte> customComparator)
Use given custom comparator instead of relying on actual type A equals method to compare group elements for incoming assertion checks.

Custom comparator is bound to assertion instance, meaning that if a new assertion is created, it will use default comparison strategy.

Examples :

 // compares invoices by payee 
 assertThat(invoiceList).usingComparator(invoicePayeeComparator).isEqualTo(expectedInvoiceList).
 
 // compares invoices by date, doesNotHaveDuplicates and contains both use the given invoice date comparator
 assertThat(invoiceList).usingComparator(invoiceDateComparator).doesNotHaveDuplicates().contains(may2010Invoice)
 
 // as assertThat(invoiceList) creates a new assertion, it falls back to standard comparison strategy 
 // based on Invoice's equal method to compare invoiceList elements to lowestInvoice.                                                      
 assertThat(invoiceList).contains(lowestInvoice).
 
 // standard comparison : the fellowshipOfTheRing includes Gandalf but not Sauron (believe me) ...
 assertThat(fellowshipOfTheRing).contains(gandalf)
                                .doesNotContain(sauron);
 
 // ... but if we compare only races, Sauron is in fellowshipOfTheRing because he's a Maia like Gandalf.
 assertThat(fellowshipOfTheRing).usingElementComparator(raceComparator)
                                .contains(sauron);
 

Specified by:
usingElementComparator in interface EnumerableAssert<ByteArrayAssert,Byte>
Parameters:
customComparator - the comparator to use for incoming assertion checks.
Returns:
this assertion object.

usingDefaultElementComparator

public ByteArrayAssert usingDefaultElementComparator()
Revert to standard comparison for incoming assertion group element checks.

This method should be used to disable a custom comparison strategy set by calling EnumerableAssert.usingElementComparator(Comparator).

Specified by:
usingDefaultElementComparator in interface EnumerableAssert<ByteArrayAssert,Byte>
Returns:
this assertion object.


Copyright © 2007-2012 FEST (Fixtures for Easy Software Testing). All Rights Reserved.