Hamcrest version: 1.3
- equalTo
- is
- isA
- typeCompatibleWith
- anything
- any
- instanceOf
- sameInstance
- theInstance
- not
- nullValue
- notNullValue
- describedAs
- empty
- emptyCollectionOf
- emptyIterable
- emptyIterableOf
- hasSize
- contains
- containsInAnyOrder
- iterableWithSize
- isIn
- isOneOf
- everyItem
- hasItem
- hasItems
- isEmptyString
- isEmptyOrNullString
- startsWith
- endsWith
- containsString
- equalToIgnoringCase
- equalToIgnoringWhiteSpace
- stringContainsInOrder
assertThat(10, equalTo(10));
assertThat(10, is(10));
assertThat(10, is(greaterThan(5)));
assertThat(10, isA(Integer.class));
assertThat(Integer.class, typeCompatibleWith(Number.class));
assertThat(10, anything());
assertThat(10, any(Integer.class));
assertThat(10, instanceOf(Integer.class));
BigDecimal bigDecimal = new BigDecimal("10.01");
assertThat(new BigDecimal("10.01"), not(sameInstance(bigDecimal)));
BigDecimal bigDecimal = new BigDecimal("10.01");
assertThat(new BigDecimal("10.01"), not(theInstance(bigDecimal)));
assertThat(10, not(equalTo(5)));
assertThat(10, not(5));
assertThat(null, nullValue());
assertThat(null, nullValue(Integer.class));
assertThat(new Object(), notNullValue());
assertThat(10, notNullValue(Integer.class));
assertThat("a b c", is(describedAs("a string that contains %0",
containsString("d"),
"letter d")));
// java.lang.AssertionError:
// Expected: is a string that contains "letter d"
// but: was "a b c"
assertThat(new BigDecimal("10.01"), comparesEqualTo(new BigDecimal("10.01")));
assertThat(new BigDecimal("10.01"), lessThan(new BigDecimal("10.02")));
assertThat(new BigDecimal("10.01"), lessThanOrEqualTo(new BigDecimal("10.02")));
assertThat(new BigDecimal("10.01"), greaterThan(new BigDecimal("9.02")));
assertThat(new BigDecimal("10.01"), greaterThanOrEqualTo(new BigDecimal("9.02")));
assertThat(new Integer[]{}, emptyArray());
assertThat(new Integer[] {1, 2, 3}, arrayWithSize(3));
assertThat(new Integer[] {1, 2, 3}, arrayWithSize(greaterThan(2)));
assertThat(new Integer[] {1, 2, 3}, is(array(is(1), lessThan(3), greaterThan(2))));
assertThat(new Integer[] {1, 2, 3}, hasItemInArray(2));
assertThat(new Integer[] {1, 2, 3}, hasItemInArray(lessThan(2)));
assertThat(new Integer[] {1, 2, 3}, arrayContaining(1, 2, 3));
assertThat(new Integer[] {1, 2, 3}, arrayContaining(is(1), lessThan(3), greaterThan(2)));
assertThat(new Integer[] {1, 2, 3}, arrayContaining(asList(is(1), lessThan(3), greaterThan(2))));
assertThat(new Integer[] {1, 2, 3}, arrayContainingInAnyOrder(3, 1, 2));
assertThat(new Integer[] {1, 2, 3}, arrayContainingInAnyOrder(is(2), lessThan(2), greaterThan(2)));
assertThat(new Integer[] {1, 2, 3}, arrayContainingInAnyOrder(asList(is(2), lessThan(2), greaterThan(2))));
assertThat(emptyList(), empty());
assertThat(new ArrayList<Integer>(), emptyCollectionOf(Integer.class));
assertThat(emptyList(), emptyIterable());
assertThat(new ArrayList<Integer>(), emptyIterableOf(Integer.class));
assertThat(asList(1, 2, 3), hasSize(3));
assertThat(asList(1, 2, 3), hasSize(equalTo(3)));
assertThat(asList(1, 2, 3), contains(1, 2, 3));
assertThat(asList(1, 2, 3), contains(is(1), lessThan(3), greaterThan(2)));
assertThat(asList(1, 2, 3), contains(asList(is(1), lessThan(3), greaterThan(2))));
assertThat(singletonList(1), contains(lessThan(5)));
assertThat(asList(1, 2, 3), containsInAnyOrder(3, 1, 2));
assertThat(asList(1, 2, 3), containsInAnyOrder(is(2), lessThan(2), greaterThan(2)));
assertThat(asList(1, 2, 3), containsInAnyOrder(asList(is(2), lessThan(2), greaterThan(2))));
assertThat(asList(1, 2), iterableWithSize(2));
assertThat(asList(1, 2), iterableWithSize(equalTo(2)));
assertThat(2, isIn(asList(1, 2, 3)));
assertThat(2, isIn(new Integer[] {1, 2, 3}));
assertThat(2, isOneOf(1, 2, 3));
assertThat(asList(1, 2, 3), everyItem(lessThan(4)));
assertThat(asList(1, 2, 3), hasItem(2));
assertThat(asList(1, 2, 3), hasItem(greaterThan(2)));
assertThat(asList(1, 2, 3), hasItems(2, 3));
assertThat(asList(1, 2, 3), hasItems(greaterThan(2), lessThan(2)));
final Map<String, Integer> map = new HashMap<>();
map.put("key1", 10);
map.put("key2", 20);
assertThat(map, hasEntry("key1", 10));
assertThat(map, hasEntry(is("key1"), greaterThan(5)));
final Map<String, Integer> map = new HashMap<>();
map.put("key1", 10);
map.put("key2", 20);
assertThat(map, hasKey("key1"));
assertThat(map, hasKey(startsWith("ke")));
final Map<String, Integer> map = new HashMap<>();
map.put("key1", 10);
map.put("key2", 20);
assertThat(map, hasValue(20));
assertThat(map, hasValue(lessThan(20)));
assertThat(10, allOf(greaterThan(5), lessThan(20), not(equalTo(7))));
assertThat(10, allOf(asList(greaterThan(5), lessThan(20), not(equalTo(7)))));
assertThat(10, anyOf(equalTo(7), lessThan(20), not(equalTo(10))));
assertThat(10, anyOf(asList(equalTo(7), lessThan(20), not(equalTo(10)))));
assertThat(10, both(greaterThan(5)).and(lessThan(20)));
assertThat(10, either(greaterThan(50)).or(lessThan(20)));
assertThat("", isEmptyString());
assertThat("", isEmptyOrNullString());
assertThat(null, isEmptyOrNullString());
assertThat("start middle end", startsWith("start"));
assertThat("start middle end", endsWith("end"));
assertThat("start middle end", containsString("middle"));
assertThat("start middle end", equalToIgnoringCase("start MIDDLE end"));
assertThat("start middle end", equalToIgnoringWhiteSpace(" start middle end "));
assertThat("start middle end", stringContainsInOrder(asList("start", "middle", "end")));
assertThat(10.01, closeTo(10, 0.02));
assertThat(new BigDecimal("10.01"), closeTo(new BigDecimal("10"), new BigDecimal("0.02")));