Hamcrest Collections Cookbook
1. Inleiding
Dit kookboek illustreert hoe gebruik maken van Hamcrest-matchers om met collecties te werken en deze te testen.
De formaat van het kookboek is voorbeeldgericht en praktisch - geen externe details en uitleg nodig.
Laten we eerst een snelle statische import uitvoeren om de meeste hulpprogramma-API's te dekken die we hierna gaan gebruiken:
importeer statische org.hamcrest.Matchers. *;
2. Het kookboek
controleer of een enkel element zich in een verzameling bevindt
List collection = Lists.newArrayList ("ab", "cd", "ef"); assertThat (verzameling, hasItem ("cd")); assertThat (verzameling, niet (hasItem ("zz")));
controleer of er meerdere elementen in een collectie staan
List collection = Lists.newArrayList ("ab", "cd", "ef"); assertThat (verzameling, hasItems ("cd", "ef"));
controleer alle elementen in een verzameling - met strikte volgorde - bij elke bestelling controleer of de collectie leeg is controleer of de array leeg is controleer of de kaart leeg is controleer of Iterable leeg is controleer de grootte van een collectie het controleren van de grootte van een iterabele controleer de staat van elk item Dit formaat is een experiment - ik publiceer enkele van mijn kookboeken voor interne ontwikkeling over een bepaald onderwerp - Google Guava en nu Hamcrest. Het doel is om deze informatie direct online beschikbaar te hebben - en om er iets aan toe te voegen wanneer ik een nieuw bruikbaar voorbeeld tegenkom. De implementatie van al deze voorbeelden en codefragmenten is te vinden op GitHub - dit is een op Maven gebaseerd project, dus het zou gemakkelijk moeten kunnen worden geïmporteerd en uitgevoerd zoals het is.List collection = Lists.newArrayList ("ab", "cd", "ef"); assertThat (collectie, bevat ("ab", "cd", "ef"));
List collection = Lists.newArrayList ("ab", "cd", "ef"); assertThat (verzameling, bevatInAnyOrder ("cd", "ab", "ef"));
Lijstverzameling = Lists.newArrayList (); assertThat (collectie, leeg ());
String [] array = nieuwe String [] {"ab"}; assertThat (array, not (emptyArray ()));
Kaartverzameling = Maps.newHashMap (); assertThat (collectie, equalTo (Collections.EMPTY_MAP));
Iterable collection = Lists.newArrayList (); assertThat (collectie, emptyIterable ());
List collection = Lists.newArrayList ("ab", "cd", "ef"); assertThat (collectie, hasSize (3));
Iterable collection = Lists.newArrayList ("ab", "cd", "ef"); assertThat (collectie, Matchers. iterableWithSize (3));
Lijstverzameling = Lists.newArrayList (15, 20, 25, 30); assertThat (collectie, everyItem (groterThan (10)));
3. Conclusie