1+ package com .baeldung .list .removeelement ;
2+
3+ import org .junit .jupiter .api .Test ;
4+
5+ import java .util .ArrayList ;
6+ import java .util .Iterator ;
7+ import java .util .List ;
8+
9+ import static org .assertj .core .api .Assertions .assertThat ;
10+
11+ public class RemoveElementFromAnArrayListUnitTest {
12+ private List <String > getSportList () {
13+ List <String > sports = new ArrayList <>();
14+ sports .add ("Football" );
15+ sports .add ("Basketball" );
16+ sports .add ("Baseball" );
17+ sports .add ("Boxing" );
18+ sports .add ("Cycling" );
19+ return sports ;
20+ }
21+
22+ @ Test
23+ void whenRemoveByIndex_thenCorrect () {
24+ List <String > sports = getSportList ();
25+ assertThat (sports ).hasSize (5 ).contains ("Basketball" );
26+
27+ sports .remove (1 ); //removing Basketball
28+ assertThat (sports ).hasSize (4 ).doesNotContain ("Basketball" );
29+ }
30+
31+ @ Test
32+ void whenRemoveLastByIndex_thenCorrect () {
33+ List <String > sports = getSportList ();
34+ List <String > expected = List .of ("Football" , "Basketball" , "Baseball" , "Boxing" );
35+
36+ sports .remove (sports .size () - 1 );
37+ assertThat (sports ).isEqualTo (expected );
38+ }
39+
40+ @ Test
41+ void whenUsingJDK21RemoveLast_thenCorrect () {
42+ List <String > sports = getSportList ();
43+ List <String > expected = List .of ("Football" , "Basketball" , "Baseball" , "Boxing" );
44+
45+ sports .removeLast ();
46+ assertThat (sports ).isEqualTo (expected );
47+ }
48+
49+
50+ @ Test
51+ void whenRemoveByElement_thenCorrect () {
52+ List <String > sports = getSportList ();
53+ assertThat (sports ).hasSize (5 ).contains ("Basketball" );
54+
55+ sports .remove ("Basketball" );
56+ assertThat (sports ).hasSize (4 ).doesNotContain ("Basketball" );
57+ }
58+
59+ @ Test
60+ void whenRemovingWhileIterating_thenCorrect () {
61+ List <String > sports = getSportList ();
62+ assertThat (sports ).hasSize (5 ).contains ("Basketball" );
63+
64+ Iterator <String > iterator = sports .iterator ();
65+ while (iterator .hasNext ()) {
66+ if (iterator .next ().equals ("Basketball" )) {
67+ iterator .remove ();
68+ break ;
69+ }
70+ }
71+ assertThat (sports ).hasSize (4 ).doesNotContain ("Basketball" );
72+ }
73+
74+ @ Test
75+ void whenRemoveIf_thenCorrect () {
76+ List <String > sports = getSportList ();
77+ assertThat (sports ).hasSize (5 ).contains ("Basketball" );
78+
79+ sports .removeIf (p -> p .equals ("Basketball" ));
80+
81+ assertThat (sports ).hasSize (4 ).doesNotContain ("Basketball" );
82+ }
83+ }
0 commit comments