Hamcrest Collections Cookbook
1. Introduksjon
Denne kokeboken illustrerer hvordan benytt Hamcrest-matchere til å jobbe med og teste samlinger.
De kokebokformatet er eksempelvis fokusert og praktisk - ingen fremmede detaljer og forklaringer er nødvendige.
Først, la oss gjøre en rask statisk import for å dekke de fleste verktøy-APIene vi skal bruke neste:
importer statisk org.hamcrest.Matchers. *;
2. Kokeboken
sjekk om enkeltelement er i en samling
Listesamling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, hasItem ("cd")); assertThat (samling, ikke (hasItem ("zz")));
sjekk om flere elementer er i en samling
Listesamling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, hasItems ("cd", "ef"));
sjekk alle elementene i en samling - med streng ordre - med hvilken som helst bestilling sjekk om samlingen er tom sjekk om matrisen er tom sjekk om Kart er tomt sjekk om Iterable er tom sjekk størrelsen på en samling sjekke størrelsen på en iterabel sjekk tilstanden på hvert element Dette formatet er et eksperiment - jeg publiserer noen av mine interne utviklingskokebøker om et gitt emne - Google Guava og nå Hamcrest. Målet er å ha denne informasjonen tilgjengelig online - og legge til den når jeg støter på et nytt nyttig eksempel. Implementeringen av alle disse eksemplene og kodebiter kan du finne på GitHub - dette er et Maven-basert prosjekt, så det skal være enkelt å importere og kjøre som det er.Listesamling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, inneholder ("ab", "cd", "ef"));
Listesamling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, inneholderInAnyOrder ("cd", "ab", "ef"));
Listesamling = Lists.newArrayList (); assertThat (samling, tom ());
String [] array = new String [] {"ab"}; assertThat (array, ikke (emptyArray ()));
Kartsamling = Maps.newHashMap (); assertThat (collection, equalTo (Collections.EMPTY_MAP));
Iterabel samling = Lists.newArrayList (); assertThat (samling, tomIterabel ());
Listesamling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, hasSize (3));
Iterabel samling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, Matchers. iterableWithSize (3));
Listesamling = Lists.newArrayList (15, 20, 25, 30); assertThat (collection, everyItem (greaterThan (10)));
3. Konklusjon