How to use AbsValueComparator class of org.assertj.core.util package

Best Assertj code snippet using org.assertj.core.util.AbsValueComparator

Source:AssertionsWithCustomComparatorExamples.java Github

copy

Full Screen

...18import static org.assertj.core.util.DateUtil.yesterday;19import static org.assertj.core.util.Lists.newArrayList;20import java.math.BigDecimal;21import java.util.Date;22import org.assertj.examples.comparator.AbsValueComparator;23import org.assertj.examples.data.TolkienCharacter;24import org.junit.jupiter.api.Test;25/**26 * Examples of assertions using a specific comparator.27 *28 * @author Joel Costigliola29 */30public class AssertionsWithCustomComparatorExamples extends AbstractAssertionsExamples {31 @Test32 public void string_assertions_with_custom_comparison_examples() {33 // standard assertion based on equals() comparison strategy34 assertThat("Frodo").startsWith("Fro").endsWith("do");35 // now let's use a specific comparison strategy that is case iNsenSiTIve :o)36 // We see that assertions succeeds even though case is not the same (that's the point)37 assertThat("Frodo").usingComparator(caseInsensitiveStringComparator).startsWith("fr").endsWith("ODO");38 // All assertions called after usingComparator(caseInsensitiveStringComparator) are based on the given comparator39 // ...40 assertThat("Frodo").usingComparator(caseInsensitiveStringComparator).contains("fro").doesNotContain("don");41 // ... but a new assertion is not42 // assertThat("Frodo").startsWith("fr").endsWith("ODO"); // FAILS !!!43 // usingComparator is honored for Comparable assertions44 assertThat("abc").usingComparator(caseInsensitiveStringComparator)45 .isLessThanOrEqualTo("ABC")46 .usingDefaultComparator()47 .isGreaterThan("ABC");48 }49 @Test50 public void equals_assertions_with_custom_comparator_examples() {51 // standard comparison : frodo is not equal to sam ...52 assertThat(frodo).isNotEqualTo(sam);53 // ... but if we compare only character's race frodo is equal to sam54 assertThat(frodo).usingComparator(raceNameComparator).isEqualTo(sam).isEqualTo(merry).isEqualTo(pippin);55 // isIn assertion should be consistent with raceComparator :56 assertThat(frodo).usingComparator(raceNameComparator).isIn(sam, merry, pippin);57 // chained assertions use the specified comparator, we thus can write58 assertThat(frodo).usingComparator(raceNameComparator).isEqualTo(sam).isIn(merry, pippin);59 // note that error message mentions the comparator used to understand the failure better.60 try {61 assertThat(frodo).usingComparator(raceNameComparator).isEqualTo(sauron);62 } catch (AssertionError e) {63 logAssertionErrorMessage("isEqualTo with custom comparator", e);64 }65 // custom comparison by race : frodo IS equal to sam => isNotEqual must fail66 try {67 assertThat(frodo).usingComparator(raceNameComparator).isNotEqualTo(sam);68 } catch (AssertionError e) {69 logAssertionErrorMessage("isNotEqualTo with custom comparator", e);70 }71 }72 @Test73 public void collection_assertions_with_custom_comparator_examples() {74 // standard comparison : the fellowshipOfTheRing includes Gandalf but not Sauron ...75 assertThat(fellowshipOfTheRing).contains(gandalf).doesNotContain(sauron);76 // ... but if we compare only race name Sauron is in fellowshipOfTheRing because he's a Maia like Gandalf.77 assertThat(fellowshipOfTheRing).usingElementComparator(raceNameComparator).contains(sauron);78 // note that error message mentions the comparator used to better understand the failure79 // the message indicates that Sauron were found because he is a Maia like Gandalf.80 try {81 assertThat(newArrayList(gandalf)).usingElementComparator(raceNameComparator).doesNotContain(sauron);82 } catch (AssertionError e) {83 logAssertionErrorMessage("doesNotContain with custom element comparator", e);84 }85 // duplicates assertion honors custom comparator86 assertThat(fellowshipOfTheRing).doesNotHaveDuplicates();87 assertThat(newArrayList(sam, gandalf)).usingElementComparator(raceNameComparator).doesNotHaveDuplicates();88 try {89 assertThat(newArrayList(sam, gandalf, frodo)).usingElementComparator(raceNameComparator).doesNotHaveDuplicates();90 } catch (AssertionError e) {91 logAssertionErrorMessage("doesNotHaveDuplicates with custom element comparator", e);92 }93 }94 @Test95 public void array_assertions_with_custom_comparison_examples() {96 TolkienCharacter[] fellowshipOfTheRingCharacters = fellowshipOfTheRing.toArray(new TolkienCharacter[0]);97 // standard comparison : the fellowshipOfTheRing includes Gandalf but not Sauron ...98 assertThat(fellowshipOfTheRingCharacters).contains(gandalf).doesNotContain(sauron);99 // ... but if we compare only race name Sauron is in fellowshipOfTheRing because he's a Maia like Gandalf.100 assertThat(fellowshipOfTheRingCharacters).usingElementComparator(raceNameComparator).contains(sauron);101 // isSorted assertion honors custom comparator102 assertThat(array(sam, gandalf)).isSortedAccordingTo(ageComparator);103 assertThat(array(sam, gandalf)).usingElementComparator(ageComparator).isSorted();104 // note that error message mentions the comparator used to better understand the failure105 try {106 assertThat(array(gandalf, sam)).usingElementComparator(ageComparator).isSorted();107 } catch (AssertionError e) {108 logAssertionErrorMessage("isSorted with custom element comparator", e);109 }110 // duplicates assertion honors custom comparator :111 assertThat(fellowshipOfTheRingCharacters).doesNotHaveDuplicates();112 assertThat(array(sam, gandalf)).usingElementComparator(raceNameComparator).doesNotHaveDuplicates();113 try {114 assertThat(array(sam, gandalf, frodo)).usingElementComparator(raceNameComparator).doesNotHaveDuplicates();115 } catch (AssertionError e) {116 logAssertionErrorMessage("doesNotHaveDuplicates with custom element comparator", e);117 }118 }119 @Test120 public void number_assertions_with_custom_comparison_examples() {121 // with absolute values comparator : |-8| == |8|122 assertThat(-8).usingComparator(absValueComparator).isEqualTo(8);123 assertThat(-8.0).usingComparator(new AbsValueComparator<Double>()).isEqualTo(8.0);124 assertThat((byte) -8).usingComparator(new AbsValueComparator<Byte>()).isEqualTo((byte) 8);125 assertThat(new BigDecimal("-8")).usingComparator(new AbsValueComparator<BigDecimal>()).isEqualTo(126 new BigDecimal("8"));127 // works with arrays !128 assertThat(new int[] { -1, 2, 3 }).usingElementComparator(absValueComparator).contains(1, 2, -3);129 }130 @Test131 public void char_assertions_with_custom_comparison_examples() {132 assertThat('a').usingComparator(caseInsensitiveComparator).isEqualTo('A');133 assertThat(Character.valueOf('a')).usingComparator(caseInsensitiveComparator).isEqualTo(Character.valueOf('A'));134 }135 @Test136 public void date_assertions_with_custom_comparison_examples() {137 // theTwoTowers.getReleaseDate() : 2002-12-18138 assertThat(theTwoTowers.getReleaseDate()).usingComparator(yearAndMonthComparator)139 .isEqualTo("2002-12-01").isEqualTo("2002-12-02") // same year and month...

Full Screen

Full Screen

AbsValueComparator

Using AI Code Generation

copy

Full Screen

1import static org.assertj.core.util.AbsValueComparator.absValueComparator;2import static org.assertj.core.internal.ComparatorBasedComparisonStrategy.comparatorBasedComparisonStrategy;3import static org.assertj.core.internal.DoubleComparator.doubleComparator;4import static org.assertj.core.internal.FloatComparator.floatComparator;5import static org.assertj.core.internal.IntComparator.intComparator;6import static org.assertj.core.internal.LongComparator.longComparator;7import java.util.Comparator;8import org.assertj.core.api.AbstractDoubleAssert;9import org.assertj.core.api.AbstractFloatAssert;10import org.assertj.core.api.AbstractIntegerAssert;11import org.assertj.core.api.AbstractLongAssert;12import org.assertj.core.internal.ComparatorBasedComparisonStrategy;13import org.assertj.core.internal.DoubleComparator;14import org.assertj.core.internal.FloatComparator;15import org.assertj.core.internal.IntComparator;16import org.assertj.core.internal.LongComparator;17import org.assertj.core.util.AbsValueComparator;18public class UsingComparator {19 public static void main(String[] args) {20 ComparatorBasedComparisonStrategy strategy = comparatorBasedComparisonStrategy();21 DoubleComparator doubleComparator = doubleComparator();22 FloatComparator floatComparator = floatComparator();23 IntComparator intComparator = intComparator();24 LongComparator longComparator = longComparator();25 AbsValueComparator absValueComparator = absValueComparator();26 AbstractDoubleAssert<?> abstractDoubleAssert = null;27 AbstractFloatAssert<?> abstractFloatAssert = null;28 AbstractIntegerAssert<?> abstractIntegerAssert = null;

Full Screen

Full Screen

AbsValueComparator

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.util.AbsValueComparator;2import org.assertj.core.api.Assertions;3import org.junit.Test;4public class AbsValueComparatorTest {5 public void test() {6 AbsValueComparator absValueComparator = new AbsValueComparator();7 Assertions.assertThat(absValueComparator.compare(1, 2)).isEqualTo(-1);8 Assertions.assertThat(absValueComparator.compare(2, 1)).isEqualTo(1);9 Assertions.assertThat(absValueComparator.compare(1, 1)).isEqualTo(0);10 }11}12org.assertj.core.util.AbsValueComparatorTest > test() PASSED

Full Screen

Full Screen

AbsValueComparator

Using AI Code Generation

copy

Full Screen

1import static org.assertj.core.util.AbsValueComparator.absoluteValueComparator;2import static org.assertj.core.api.Assertions.assertThat;3public class AbsValueComparatorTest {4 public void test() {5 assertThat(absoluteValueComparator().compare(-1, 1)).isZero();6 assertThat(absoluteValueComparator().compare(1, -1)).isZero();7 assertThat(absoluteValueComparator().compare(1, 2)).isNegative();8 assertThat(absoluteValueComparator().compare(2, 1)).isPositive();9 }10}11org.assertj.core.util.AbsValueComparatorTest > test() PASSED

Full Screen

Full Screen

AbsValueComparator

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.util.AbsValueComparator;2import org.assertj.core.api.Assertions;3import org.junit.Test;4import java.util.Comparator;5public class ComparatorTest {6 public void testComparator() {7 Comparator<Double> comparator = new AbsValueComparator<Double>();8 Assertions.assertThat(comparator.compare(1.0, 2.0)).isNegative();9 Assertions.assertThat(comparator.compare(2.0, 1.0)).isPositive();10 Assertions.assertThat(comparator.compare(1.0, 1.0)).isZero();11 }12}13org.assertj.core.api.Assertions.assertThat(Assertions.java:117)14 com.baeldung.comparator.ComparatorTest.testComparator(ComparatorTest.java:15)15package org.assertj.core.util;16public class AbsValueComparator<T extends Number> implements Comparator<T> {17 public int compare(T o1, T o2) {18 return Double.compare(Math.abs(o1.doubleValue()), Math.abs(o2.doubleValue()));19 }20}21org.assertj.core.util.AbsValueComparator.compare(AbsValueComparator.java:12)22 com.baeldung.comparator.ComparatorTest.testComparator(ComparatorTest.java:15)

Full Screen

Full Screen

AbsValueComparator

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.util.AbsValueComparator;2import org.assertj.core.api.Assertions.*;3import org.assertj.core.data.Percentage;4import org.assertj.core.api.Assertions;5import org.assertj.core.api.AbstractDoubleAssert;6import org.assertj.core.util.DoubleComparator;7import org.assertj.core.data.Offset;8import org.assertj.core.data.Percentage;9import org.assertj.core.api.Assertions;10import org.assertj.core.api.AbstractDoubleAssert;11import org.assertj.core.util.FloatComparator;12import org.assertj.core.data.Offset;13import org.assertj.core.data.Percentage;14import org.assertj.core.api.Assertions;15import org.assertj.core.api.AbstractFloatAssert;16import org.assertj.core.util.BigDecimalComparator;17import org.assertj.core.data.Offset;18import org.assertj.core.data.Percentage;19import org.assertj.core.api.Assertions;20import org.assertj.core.api.AbstractBigDecimalAssert;21import org.assertj.core.util.BigIntegerComparator;22import org.assertj.core.data.Offset;23import org.assertj.core.data.Percentage;24import org.assertj.core.api.Assertions;25import org.assertj.core.api.AbstractBigIntegerAssert;26import org.assertj.core.util.ComparableComparator;27import org.assertj.core.api.Assertions;28import org.assertj.core.api.AbstractComparableAssert;29import org.assertj.core.util.ComparatorBasedComparisonStrategy;30import org.assertj.core.api.Assertions;31import org.assertj.core.api.AbstractAssert;32import org.assertj.core.util.ComparatorBasedComparisonStrategy;33import org.assertj.core.api.Assertions;34import org.assertj.core.api.AbstractAssert;35import org.assertj.core.util.ComparatorBasedComparisonStrategy;36import org.assertj.core.api.Assertions;37import org.assertj.core.api.AbstractAssert;38import org.assertj.core.util.ComparatorBasedComparisonStrategy;39import org.assertj.core.api.Assertions;40import org.assertj.core.api.AbstractAssert;41import org.assertj.core.util.ComparatorBasedComparisonStrategy;42import org.assertj.core.api.Assertions;43import org.assertj.core.api.AbstractAssert;

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Assertj automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used methods in AbsValueComparator

Test Your Web Or Mobile Apps On 3000+ Browsers

Signup for free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful