Рубрики
Без рубрики

Поваренная книга Hamcrest Collections

Общие Hamcrest спички полезно при работе с коллекциями и массивами.

Автор оригинала: Eugen Paraschiv.

1. Введение

Эта поваренная книга иллюстрирует, как использовать матчеры Hamcrest для работы с коллекциями и тестирования .

формат поваренной книги является примером сосредоточены и практические – никаких посторонних деталей и объяснений не требуется.

Во-первых, давайте сделаем быстрый статический импорт, чтобы охватить большую часть утилиты API мы собираемся использовать в следующем:

import static org.hamcrest.Matchers.*;

Дальнейшее чтение:

Хэмкрест Общие Основные Matchers

Хэмкрест Бин Матчерс

Тестирование с помощью Hamcrest

2. Поваренная книга

проверить, есть ли один элемент в коллекции

List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, hasItem("cd"));
assertThat(collection, not(hasItem("zz")));

проверить, есть ли в коллекции несколько элементов

List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, hasItems("cd", "ef"));

проверить все элементы коллекции

– со строгим порядком

List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, contains("ab", "cd", "ef"));

– с любым заказом

List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, containsInAnyOrder("cd", "ab", "ef"));

проверить, пуста ли коллекция

List collection = Lists.newArrayList();
assertThat(collection, empty());

проверить, пуст ли массив

String[] array = new String[] { "ab" };
assertThat(array, not(emptyArray()));

проверить, пуста ли карта

Map collection = Maps.newHashMap();
assertThat(collection, equalTo(Collections.EMPTY_MAP));

проверить, если Итерируемый пуст

Iterable collection = Lists.newArrayList();
assertThat(collection, emptyIterable());

проверить размер коллекции

List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, hasSize(3));

проверка размера итерируемого

Iterable collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, Matchers. iterableWithSize(3));

проверить состояние по каждому пункту

List collection = Lists.newArrayList(15, 20, 25, 30);
assertThat(collection, everyItem(greaterThan(10)));

3. Заключение

Этот формат является экспериментом – я публикации некоторых из моих внутренних разработок поваренные книги по данной теме – Google Guava и теперь Hamcrest. Цель состоит в том, чтобы эта информация легко доступна в Интернете – и добавить к нему всякий раз, когда я бегу в новый полезный пример.

Реализация всех этих примеров и фрагментов кода можно найти более на GitHub – это Maven основе проекта, поэтому она должна быть легко импортировать и работать, как она есть.