Class Comparables

java.lang.Object
org.assertj.core.internal.Comparables
Direct Known Subclasses:
Characters, Numbers

public class Comparables extends Object
Reusable assertions for types that can be compared between each other, most of the time it means Comparables but also for type not implementing Comparable like Number (surprisingly not comparable).
  • Field Details

  • Constructor Details

  • Method Details

    • getComparator

      public Comparator<?> getComparator()
    • setFailures

      void setFailures(Failures failures)
    • resetFailures

      void resetFailures()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • assertEqual

      public <T> void assertEqual(AssertionInfo info, T actual, T expected)
      Asserts that two T instances are equal.
      Type Parameters:
      T - the type of actual and expected
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      expected - the expected value.
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is not equal to the expected one. This method will throw a org.junit.ComparisonFailure instead if JUnit is in the classpath and the expected and actual values are not equal.
    • areEqual

      protected <T> boolean areEqual(T actual, T expected)
    • assertNotEqual

      public <T> void assertNotEqual(AssertionInfo info, T actual, T other)
      Asserts that two T instances are not equal.
      Type Parameters:
      T - the type of actual and expected
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is equal to the other one.
    • assertEqualByComparison

      public <T> void assertEqualByComparison(AssertionInfo info, Comparable<? super T> actual, T expected)
      Asserts that two Comparables are equal by invoking Comparable.compareTo(Object).
      Note that it does not rely on the custom comparisonStrategy if one has been set.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      expected - the expected value.
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is not equal to the expected one. This method will throw a org.junit.ComparisonFailure instead if JUnit is in the classpath and the expected and actual values are not equal.
    • assertNotEqualByComparison

      public <T> void assertNotEqualByComparison(AssertionInfo info, Comparable<? super T> actual, T other)
      Asserts that two Comparables are not equal by invoking Comparable.compareTo(Object) .
      Note that it does not rely on the custom comparisonStrategy if one has been set.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is equal to the other one.
    • assertLessThan

      public <T> void assertLessThan(AssertionInfo info, Comparable<? super T> actual, T other)
      Asserts that the actual value is less than the other one.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is not less than the other one: this assertion will fail if the actual value is equal to or greater than the other value.
    • assertIsBefore

      public <T> void assertIsBefore(AssertionInfo info, Comparable<? super T> actual, T other)
      Asserts that the actual value is strictly before the other one.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is not before the other one: this assertion will fail if the actual value is equal to or greater than the other value.
    • assertLessThan

      private <T> void assertLessThan(AssertionInfo info, Comparable<? super T> actual, T other, TriFunction<Comparable<? super T>,T,ComparisonStrategy,ErrorMessageFactory> errorMessageFactory)
      Asserts that the actual value is less than the other one and throws an error with the given message factory.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      errorMessageFactory - the desired error message factory to generate the suitable error message
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is not before the other one: this assertion will fail if the actual value is equal to or after the other value.
    • assertIsBeforeOrEqualTo

      public <T> void assertIsBeforeOrEqualTo(AssertionInfo info, Comparable<? super T> actual, T other)
    • assertLessThanOrEqualTo

      public <T> void assertLessThanOrEqualTo(AssertionInfo info, Comparable<? super T> actual, T other)
    • assertLessThanOrEqualTo

      private <T> void assertLessThanOrEqualTo(AssertionInfo info, Comparable<? super T> actual, T other, TriFunction<Comparable<? super T>,T,ComparisonStrategy,ErrorMessageFactory> errorMessageFactory)
      Asserts that the actual value is less than or equal to the other one.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      errorMessageFactory - the desired error message factory to generate the suitable error message
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is greater than the other one.
    • assertIsAfter

      public <T> void assertIsAfter(AssertionInfo info, Comparable<? super T> actual, T other)
    • assertGreaterThan

      public <T> void assertGreaterThan(AssertionInfo info, Comparable<? super T> actual, T other)
    • assertGreaterThan

      private <T> void assertGreaterThan(AssertionInfo info, Comparable<? super T> actual, T other, TriFunction<Comparable<? super T>,T,ComparisonStrategy,ErrorMessageFactory> errorMessageFactory)
      Asserts that the actual value is greater than the other one.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      errorMessageFactory - the desired error message factory to generate the suitable error message
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is not greater than the other one: this assertion will fail if the actual value is equal to or less than the other value.
    • isGreaterThan

      private boolean isGreaterThan(Object actual, Object other)
    • assertGreaterThanOrEqualTo

      public <T> void assertGreaterThanOrEqualTo(AssertionInfo info, Comparable<? super T> actual, T other)
    • assertIsAfterOrEqualTo

      public <T> void assertIsAfterOrEqualTo(AssertionInfo info, Comparable<? super T> actual, T other)
    • assertGreaterThanOrEqualTo

      private <T> void assertGreaterThanOrEqualTo(AssertionInfo info, Comparable<? super T> actual, T other, TriFunction<Comparable<? super T>,T,ComparisonStrategy,ErrorMessageFactory> errorMessageFactory)
      Asserts that the actual value is greater than or equal to the other one.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      other - the value to compare the actual value to.
      errorMessageFactory - the desired error message factory to generate the suitable error message
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is less than the other one.
    • isLessThan

      private <T> boolean isLessThan(Object actual, Object other)
    • assertNotNull

      protected static <T> void assertNotNull(AssertionInfo info, T actual)
    • assertIsBetween

      public <T> void assertIsBetween(AssertionInfo info, Comparable<? super T> actual, T start, T end, boolean inclusiveStart, boolean inclusiveEnd)
      Asserts that the actual value is between start and end, inclusive or not.
      Type Parameters:
      T - used to guarantee that two objects of the same type are being compared against each other.
      Parameters:
      info - contains information about the assertion.
      actual - the actual value.
      start - the start value.
      end - the end value.
      inclusiveStart - if start is inclusive (fail is actual == start and inclusiveStart is false).
      inclusiveEnd - if end is inclusive (fail is actual == end and inclusiveEnd is false).
      Throws:
      AssertionError - if the actual value is null.
      AssertionError - if the actual value is not between start and end.
      NullPointerException - if start value is null.
      NullPointerException - if end value is null.
      IllegalArgumentException - if end value is less than start value.
    • checkBoundsValidity

      private <T> void checkBoundsValidity(T start, T end, boolean inclusiveStart, boolean inclusiveEnd)