Jak sprawdzić za pomocą Hamcrest, czy podana kolekcja zawiera podane pozycje w podanej kolejności? Próbowałem hasItems
, ale po prostu ignoruje kolejność.Jak sprawdzić, czy kolekcja zawiera przedmioty w podanej kolejności przy użyciu Hamcrestu
List<String> list = Arrays.asList("foo", "bar", "boo");
assertThat(list, hasItems("foo", "boo"));
//I want this to fail, because the order is different than in "list"
assertThat(list, hasItems("boo", "foo"));
Rozważ zmianę akceptowanej odpowiedzi. Zazwyczaj, gdy wyszukujemy element dopasowujący, preferujemy te już w interfejsie API, pozostawiając niestandardowe dopasowania w nieuniknionych przypadkach. – acdcjunior
Masz rację! Dzięki –
Przyjęta odpowiedź nie odpowiada na pytanie. Pytanie wymaga dopasowania, które jedynie sprawdza, czy oczekiwane elementy są zawarte w rzeczywistej liście w podanej kolejności, ale nie, że są to WSZYSTKIE rzeczywiste pozycje. Metoda 'Matchers.contains' sprawdza, czy lista zawiera dokładnie oczekiwane elementy. –