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>, ExtensionPoints<ByteArrayAssert,byte[]>

public class ByteArrayAssert
extends AbstractAssert<ByteArrayAssert,byte[]>
implements EnumerableAssert<ByteArrayAssert>, 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

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<? extends 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 usingComparator(Comparator<?> customComparator)
          Use given custom comparator instead of relying on actual type A equals method for incoming assertion checks.
 ByteArrayAssert usingDefaultComparator()
          Revert to standard comparison 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
 
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>

isEmpty

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

Specified by:
isEmpty in interface EnumerableAssert<ByteArrayAssert>

isNotEmpty

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

Specified by:
isNotEmpty in interface EnumerableAssert<ByteArrayAssert>
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>
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<? extends 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.

usingComparator

public ByteArrayAssert usingComparator(Comparator<?> customComparator)
Description copied from class: AbstractAssert
Use given custom comparator instead of relying on actual type A equals method 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.

Example :
 // 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 uses standard comparison strategy (Invoice's equal method) to compare invoiceList elements to lowestInvoice.                                                      
 assertThat(invoiceList).contains(lowestInvoice).
 
Custom comparator is not parameterized with actual type A (ie. Comparator<A>) because if it was, we could not write the following code :
 // frodo and sam are instances of Character (a Character having a Race)
 // raceComparator implements Comparator<Character> 
 // assertThat(frodo) returns an ObjectAssert and not a custom CharacterAssert implementing Assert<CharacterAssert, Character>  
 assertThat(frodo).usingComparator(raceComparator).isEqualTo(sam); // won't compile !
 
 The code does not compile because assertThat(frodo) returns an ObjectAssert, thus usingComparator expects a Comparator<Object> 
 and Comparator<Character> is not a Comparator<Object> as generics are not reified.
 
 Note that, it would have worked if assertThat(frodo) returned a CharacterAssert implementing Assert<CharacterAssert, Character>. 
 

Specified by:
usingComparator in interface Assert<ByteArrayAssert,byte[]>
Overrides:
usingComparator in class AbstractAssert<ByteArrayAssert,byte[]>
Parameters:
customComparator - the comparator to use for incoming assertion checks.
Returns:
this assertion object.

usingDefaultComparator

public ByteArrayAssert usingDefaultComparator()
Description copied from class: AbstractAssert
Revert to standard comparison for incoming assertion checks.
This method should be used to disable a custom comparison strategy set by calling Assert.usingComparator(Comparator).

Specified by:
usingDefaultComparator in interface Assert<ByteArrayAssert,byte[]>
Overrides:
usingDefaultComparator in class AbstractAssert<ByteArrayAssert,byte[]>
Returns:
this assertion object.


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