blob: 8a77713db17e69799a69f98e1abbdaaa0c04c3bf [file] [log] [blame]
package org.hamcrest.number;
import org.hamcrest.Matcher;
import org.hamcrest.comparator.ComparatorMatcherBuilder;
public class OrderingComparison {
private OrderingComparison() {
}
/**
* Creates a matcher of {@link Comparable} object that matches when the examined object is
* equal to the specified value, as reported by the <code>compareTo</code> method of the
* <b>examined</b> object.
* For example:
* <pre>assertThat(1, comparesEqualTo(1))</pre>
*
* @param value the value which, when passed to the compareTo method of the examined object, should return zero
*/
public static <T extends Comparable<T>> Matcher<T> comparesEqualTo(T value) {
return ComparatorMatcherBuilder.<T>usingNaturalOrdering().comparesEqualTo(value);
}
/**
* Creates a matcher of {@link Comparable} object that matches when the examined object is
* greater than the specified value, as reported by the <code>compareTo</code> method of the
* <b>examined</b> object.
* For example:
* <pre>assertThat(2, greaterThan(1))</pre>
*
* @param value the value which, when passed to the compareTo method of the examined object, should return greater
* than zero
*/
public static <T extends Comparable<T>> Matcher<T> greaterThan(T value) {
return ComparatorMatcherBuilder.<T>usingNaturalOrdering().greaterThan(value);
}
/**
* Creates a matcher of {@link Comparable} object that matches when the examined object is
* greater than or equal to the specified value, as reported by the <code>compareTo</code> method
* of the <b>examined</b> object.
* For example:
* <pre>assertThat(1, greaterThanOrEqualTo(1))</pre>
*
* @param value the value which, when passed to the compareTo method of the examined object, should return greater
* than or equal to zero
*/
public static <T extends Comparable<T>> Matcher<T> greaterThanOrEqualTo(T value) {
return ComparatorMatcherBuilder.<T>usingNaturalOrdering().greaterThanOrEqualTo(value);
}
/**
* Creates a matcher of {@link Comparable} object that matches when the examined object is
* less than the specified value, as reported by the <code>compareTo</code> method of the
* <b>examined</b> object.
* For example:
* <pre>assertThat(1, lessThan(2))</pre>
*
* @param value the value which, when passed to the compareTo method of the examined object, should return less
* than zero
*/
public static <T extends Comparable<T>> Matcher<T> lessThan(T value) {
return ComparatorMatcherBuilder.<T>usingNaturalOrdering().lessThan(value);
}
/**
* Creates a matcher of {@link Comparable} object that matches when the examined object is
* less than or equal to the specified value, as reported by the <code>compareTo</code> method
* of the <b>examined</b> object.
* For example:
* <pre>assertThat(1, lessThanOrEqualTo(1))</pre>
*
* @param value the value which, when passed to the compareTo method of the examined object, should return less
* than or equal to zero
*/
public static <T extends Comparable<T>> Matcher<T> lessThanOrEqualTo(T value) {
return ComparatorMatcherBuilder.<T>usingNaturalOrdering().lessThanOrEqualTo(value);
}
}