Ellenőrizze, hogy két lista egyenlő-e a Java-ban

1. Bemutatkozás

Ebben a rövid cikkben a tesztelés általános problémájára összpontosítunk, ha kettő Lista a példányok ugyanazokat az elemeket tartalmazzák pontosan ugyanabban a sorrendben.

Lista egy parancsolt adatszerkezet, így az elemek sorrendje a tervezés szempontjából számít.

vessen egy pillantást a # Lista egyenlő Java dokumentáció:

… Két listát azonosnak definiálunk, ha ugyanazokat az elemeket tartalmazzák ugyanabban a sorrendben.

Ez a meghatározás biztosítja, hogy az egyenlő módszer megfelelően működik a List interfész különböző megvalósításaiban.

Ezt az ismeretet felhasználhatjuk állítások megírásakor.

A következő kódrészletekben a következő listákat fogjuk használni bemenetként:

List list1 = Tömbök.asList ("1", "2", "3", "4"); List list2 = Tömbök.asList ("1", "2", "3", "4"); List list3 = Tömbök.asList ("1", "2", "4", "3");

2. JUnit

Egy tiszta JUnit tesztben a következő állítások lesznek igazak:

@Test public void, amikor aTestingForEquality_ShouldBeEqual () kivételt dob ​​{Assert.assertEquals (list1, list2); Assert.assertNotSame (lista1, lista2); Assert.assertNotEquals (1. lista, 3. lista); }

3. TestNG

A TestNG állításainak használatakor nagyon hasonlóan fognak kinézni a JUnit állításaihoz, de fontos megjegyezni, Állítsd osztály egy másik csomagból származik:

@Test public void, amikor a TestingForEquality_ShouldBeEqual () kivételt dob ​​{Assert.assertEquals (list1, list2); Assert.assertNotSame (lista1, lista2); Assert.assertNotEquals (1. lista, 3. lista); }

4. ÁllítsdJ

Ha szeretné használni az AssertJ alkalmazást, akkor az állításai a következőképpen fognak kinézni:

@Test public void, amikor a TestingForEquality_ShouldBeEqual () kivételt dob ​​{assertThat (list1) .isEqualTo (list2) .isNotEqualTo (list3); assertThat (lista1.egyenlő (lista2)). isTrue (); assertThat (lista1.egyenlő (lista3)). isFalse (); }

5. Következtetés

Ebben a cikkben azt vizsgáltuk, hogyan lehet tesztelni, ha kettő van Lista a példányok ugyanazokat az elemeket tartalmazzák ugyanabban a sorrendben. A probléma legfontosabb része annak megfelelő megértése volt, hogy a Lista az adatstruktúra működőképes.

Minden kódpélda megtalálható a GitHub-on.