use of org.assertj.core.internal.ObjectArrays in project assertj-core by joel-costigliola.
the class AtomicReferenceArrayAssert method usingElementComparator.
/**
* Use given custom comparator instead of relying on actual element type <code>equals</code> method to compare AtomicReferenceArray
* elements for incoming assertion checks.
* <p>
* Custom comparator is bound to assertion instance, meaning that if a new assertion is created, it will use default
* comparison strategy.
* <p>
* Examples :
* <pre><code class='java'> // compares invoices by payee
* assertThat(invoiceArray).usingComparator(invoicePayeeComparator).isEqualTo(expectedinvoiceArray).
*
* // compares invoices by date, doesNotHaveDuplicates and contains both use the given invoice date comparator
* assertThat(invoiceArray).usingComparator(invoiceDateComparator).doesNotHaveDuplicates().contains(may2010Invoice)
*
* // as assertThat(invoiceArray) creates a new assertion, it falls back to standard comparison strategy
* // based on Invoice's equal method to compare invoiceArray elements to lowestInvoice.
* assertThat(invoiceArray).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);</code></pre>
*
* @param elementComparator the comparator to use for incoming assertion checks.
* @throws NullPointerException if the given comparator is {@code null}.
* @return {@code this} assertion object.
*/
@Override
@CheckReturnValue
public AtomicReferenceArrayAssert<T> usingElementComparator(Comparator<? super T> elementComparator) {
this.arrays = new ObjectArrays(new ComparatorBasedComparisonStrategy(elementComparator));
objects = new Objects(new AtomicReferenceArrayElementComparisonStrategy<>(elementComparator));
return myself;
}
use of org.assertj.core.internal.ObjectArrays in project assertj-core by joel-costigliola.
the class ObjectArrayAssert_usingElementComparatorIgnoringFields_Test method verify_internal_effects.
@Override
protected void verify_internal_effects() {
ObjectArrays iterables = getArrays(assertions);
assertThat(iterables).isNotSameAs(arraysBefore);
assertThat(iterables.getComparisonStrategy()).isInstanceOf(ComparatorBasedComparisonStrategy.class);
ComparatorBasedComparisonStrategy strategy = (ComparatorBasedComparisonStrategy) iterables.getComparisonStrategy();
assertThat(strategy.getComparator()).isInstanceOf(ExtendedByTypesComparator.class);
assertThat(((IgnoringFieldsComparator) ((ExtendedByTypesComparator) strategy.getComparator()).getComparator()).getFields()).containsOnly("field");
}
use of org.assertj.core.internal.ObjectArrays in project assertj-core by joel-costigliola.
the class ObjectArrayAssert_usingElementComparatorOnFields_Test method verify_internal_effects.
@Override
protected void verify_internal_effects() {
ObjectArrays arrays = getArrays(assertions);
assertThat(arrays).isNotSameAs(arraysBefore);
assertThat(arrays.getComparisonStrategy()).isInstanceOf(ComparatorBasedComparisonStrategy.class);
ComparatorBasedComparisonStrategy strategy = (ComparatorBasedComparisonStrategy) arrays.getComparisonStrategy();
assertThat(strategy.getComparator()).isInstanceOf(ExtendedByTypesComparator.class);
assertThat(((OnFieldsComparator) ((ExtendedByTypesComparator) strategy.getComparator()).getComparator()).getFields()).containsOnly("field");
}
use of org.assertj.core.internal.ObjectArrays in project assertj-core by joel-costigliola.
the class AtomicReferenceArrayAssert_usingElementComparatorIgnoringFields_Test method verify_internal_effects.
@Override
protected void verify_internal_effects() {
ObjectArrays iterables = getArrays(assertions);
assertThat(iterables).isNotSameAs(arraysBefore);
assertThat(iterables.getComparisonStrategy()).isInstanceOf(ComparatorBasedComparisonStrategy.class);
ComparatorBasedComparisonStrategy strategy = (ComparatorBasedComparisonStrategy) iterables.getComparisonStrategy();
assertThat(strategy.getComparator()).isInstanceOf(ExtendedByTypesComparator.class);
assertThat(((IgnoringFieldsComparator) ((ExtendedByTypesComparator) strategy.getComparator()).getComparator()).getFields()).containsOnly("field");
}
use of org.assertj.core.internal.ObjectArrays in project assertj-core by joel-costigliola.
the class AtomicReferenceArrayAssert_usingElementComparatorOnFields_Test method verify_internal_effects.
@Override
protected void verify_internal_effects() {
ObjectArrays arrays = getArrays(assertions);
assertThat(arrays).isNotSameAs(arraysBefore);
assertThat(arrays.getComparisonStrategy()).isInstanceOf(ComparatorBasedComparisonStrategy.class);
ComparatorBasedComparisonStrategy strategy = (ComparatorBasedComparisonStrategy) arrays.getComparisonStrategy();
assertThat(strategy.getComparator()).isInstanceOf(ExtendedByTypesComparator.class);
assertThat(((OnFieldsComparator) ((ExtendedByTypesComparator) strategy.getComparator()).getComparator()).getFields()).containsOnly("field");
}
Aggregations