Hamcrest Collections kogebog
1. Introduktion
Denne kogebog illustrerer, hvordan man gør det gøre brug af Hamcrest matchere til at arbejde med og teste samlinger.
Det kogebogens format er eksempelvis fokuseret og praktisk - ingen fremmede detaljer og forklaringer er nødvendige.
Lad os først foretage en hurtig statisk import for at dække de fleste af de hjælpeprogrammer, vi skal bruge næste:
importer statisk org.hamcrest.Matchers. *;
2. Kogebogen
kontrollere, om et enkelt element er i en samling
Liste samling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, hasItem ("cd")); assertThat (samling, ikke (hasItem ("zz")));
kontrollere, om der er flere elementer i en samling
Liste samling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (collection, hasItems ("cd", "ef"));
tjek alle elementer i en samling - med streng ordre - med enhver ordre Kontroller, om indsamlingen er tom Kontroller, om arrayet er tomt Kontroller, om kortet er tomt Kontroller, om Iterable er tom kontrollere størrelsen på en samling kontrol af størrelsen på en iterabel tjek tilstand på hvert emne Dette format er et eksperiment - jeg udgiver nogle af mine interne udviklings-kogebøger om et givet emne - Google Guava og nu Hamcrest. Målet er at have disse oplysninger tilgængelige online - og tilføje dem, når jeg løber ind i et nyt nyttigt eksempel. Implementeringen af alle disse eksempler og kodestykker kan findes på GitHub - dette er et Maven-baseret projekt, så det skal være let at importere og køre som det er.Liste samling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, indeholder ("ab", "cd", "ef"));
Liste samling = Lists.newArrayList ("ab", "cd", "ef"); assertThat (samling, indeholderInAnyOrder ("cd", "ab", "ef"));
Liste samling = Lists.newArrayList (); assertThat (samling, tom ());
Streng [] array = ny streng [] {"ab"}; assertThat (array, ikke (emptyArray ()));
Kortsamling = Maps.newHashMap (); assertThat (collection, equalTo (Collections.EMPTY_MAP));
Iterabel samling = Lists.newArrayList (); assertThat (samling, tomIterabel ());
Liste samling = 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. Konklusion